Сервис бумасы 3 және Visual FoxPro, жаңалық

Новости мира

Ескі күндерде осы «жаңартулар жинағында» ұсынылған жаңа функционалдылық жаңа нұсқа үшін немесе кем дегенде жеке қорапқа салынған, құжаттамамен қамтамасыз етілген және т.б. аралық нұсқа үшін жеткілікті болар еді. Сондықтан біз болжауға болады. Visual Studio Service Pack 3 (SP3) шығарылымымен Visual FoxPro 6.5 нарыққа шықты.

Не бар. Әдеттегідей Visual FoxPro бағдарламасында бірнеше қателерді түзетеді. Мысалдардағы қате жұмыс істейтін кодты түзету. Бірақ бұл ұсақ-түйек, сондықтан мен сіздің уақытыңызды босқа өткізбес едім.

Шын мәнінде үлкен өзгерістер Visual FoxPro көмегімен құрастырылған ерте нысанды байланыстыру және DLL ағынын жүзеге асыру болып табылады. Міне, біз осы жерден бастаймыз. Ерте байланыстыруды қолдау. Бұрын болған нәрсе қазір. Сіз ADO-мен жұмыс істеп жатырсыз. Recordset нысанын жасаңыз, пішінге Microsoft DataGrid 6.0 (OLEDB) нысанын орналастырыңыз. Сонымен. Иә, ештеңе дерлік. Негізгі мәселе мынада, Visual FoxPro сіздің пішініңіз іске қосылғанша оның қолданбалары қандай нысандарды пайдаланатынын білмейді. Бірақ пішін іске қосылғанда, жұмыс әлдеқашан орындалған. Нысан жасалды және оған нысанды «тіркеу» әрекеті қате туралы хабармен аяқталады. Бұл тек оқуға арналған деректер үшін соншалықты үлкен мәміле болмауы мүмкін. Өйткені, жазбалар жинағын қолмен бөлшектеуге болады. Деректерді өңдеуді өзгерту және қадағалау қажет болғанда жағдай әлдеқайда нашар. Қысқаша айтқанда, стандартты меңзерді пайдалану әлдеқайда оңай Visual FoxPro, оны Recordset ішінен толтыру және оны негізгі нысандардан тұрақты Grid нысанына байланыстыру. Бірақ бұл қалыпты жағдай емес! Бір компания әзірлеген құралдар мен технологиялар бірге жұмыс істеуі керек, әсіресе Microsoft корпорациясы бөліктерден жиналған жүйе пайдаланушы үшін біртұтас тұтас болып көрінгенде, өзінің құрамдас қолданба үлгісіне өзінің адалдығын үнемі мәлімдеп отырады. Мінеки. Бөлшектер бар, жұмыс жоқ. Кем дегенде SP3 шығарылғанға дейін. Енді біз келесі әрекеттерді жасай аламыз (мысал үшін Миша Корнеевке рахмет):

Біз пішінді жасаймыз. Біз оған жаңа Microsoft DataGrid 6.0 (OleDB) нысандарының бірін орналастырамыз және пішіннің Init әдісі кодына келесі кодты қоямыз:

ЖЕРГІЛІКТІ lo_ADOR
lo_ADOR=CREATEOBJ(‘ADODB.RecordSet’)
lo_ADOR МЕН
.FIELDS.APPEND(«F1»,129,20)
.FIELDS.APPEND(«F2»,129,20)
.АШЫҚ .Жаңа қосу
.FIELDS(‘F1’).VALUE=»Бұл оңай»
.AddNew
.FIELDS(‘F2’).VALUE=»Жұмыс»
СОҢЫ
THIS.CONTROLS(1).DATASOURCE=lo_ADOR

Пішінді іске қосайық, егер бәрі ойдағыдай болса, DataGrid нысанына байланыстырылған Жазбалар жинағын аламыз. Деректер көзінің нысанға динамикалық байланысы осылай шешіледі. Бірақ бұл орындау сатысында.

Мысалы, DataGrid жүйесінде қандай да бір әрекетті орындау үшін пішіннің жобалау кезеңінде Жазбалар жинағын байланыстыру қажет болса ше? Ең алдымен, сізге DataGrid сілтемесін алу керек. Бұл нысанды пішінге орналастырғаннан кейін, қажетті нәтиже алу үшін бірнеше шамандық өтуді орындау керек. Мұнда мен Джон Петерсен ұсынған шешімді қолданамын: 1. Пәрмен терезесінде ADO жазбалар жинағын жасаңыз.

*!* Мысалы, мен стандартты Visual FoxPro дерекқорын пайдаланамын және
*!* DSN tastrade деп аталады
*!* oConn = CreateObject («adodb.connection»)
*!* oConn.Open(«tastrade»)
*!* ors = CreateObject («adodb.recordset»)
*!* ors көмегімен
*!* .activeconnection = oconn
*!* .source = «Тұтынушыдан * таңдау»
*!* .CursorLocation = 3
*!* .Ашық
*!* EndWith
*!* Сілтемені қамтитын айнымалы болуы маңызды
*!* Жазбалар жиынының жалпыға ортақ көрінуі болды.
*!* 2. Жазбалар жинағы нысанын дайындап, пішінді жасаңыз және оған орналастырыңыз
*!* Microsoft DataGrid, 6.0 нұсқасы (OLEDB).
*!* 3. DataGrid сілтемесін алу үшін оған тінтуір курсорын қойыңыз,
*!* пәрмен терезесіне өтіп, пәрменді орындаңыз:
*!* oGrid = Sys(1270)
*!* Енді бізде барлық қажетті сілтемелер бар, біз байланыстыра аламыз
*!* Жазбалар жинағы және DataGrid
*!* oGrid.DataSource = oRS
*!* 4. DataGrid нысанын тінтуірдің оң жақ түймешігімен басыңыз,
*!* пайда болған мәзірден DataGrid Object, Clear Fields командасын таңдаңыз.
*!* Қайтадан тінтуірдің оң жақ түймешігімен басып, Өрістерді алу опциясын таңдаңыз.
*!* Біз деректер көзінен өрістер тізімін аламыз.
*!* Орындау кезінде сізге қайтадан байлау қажет болады
*!* деректер көзі, бірақ біз барлық Баған нысандарын анықтадық
*!* DataGrid нысанының Columns жинағында.

COM серверлерінің жаңалықтары. Visual FoxPro шынайы көп ағынды қолдайды ма деген сұраққа көп рет «Жоқ» деп жауап беруге тура келді. Енді бұл сұрақтың жауабы «Иә». Кейбір ескертпелер болса да. Компьютерге SP3 орнатқаннан кейін. Vfp6t.dll деп аталатын басқа динамикалық кітапхана System32 каталогында пайда болады. Бұл DLL форматында іске асырылған COM серверлерінің жұмысына арналған арнайы жұмыс уақытының кітапханасы. Бұл кітапхананың негізгі мақсаты Microsoft Transaction сервер ортасында жұмыс істеу үшін құрастырылған серверлерге қолдау көрсету болып табылады. Vfp6r.DLL стандартты жұмыс уақытын қолдау кітапханасынан айырмашылығы, жаңа кітапхана жеңілірек және нәтижесінде кейбір пәрмендерге қолдау көрсетпейді, олардың толық тізімін сіз барлық жаңалықтарды сипаттайтын Vfpsp3.chm анықтамалық файлынан таба аласыз.

Негізінде, біз пайдаланушымен өзара әрекеттесуді қамтамасыз ететін командалар туралы айтып отырмыз. Сонымен қатар, жаңа кітапхана көп ағындықты қолдайды және COM серверінің функционалдық мүмкіндіктеріне қол жеткізгісі келетін көптеген клиенттер ағымдағы сұраныстың орындалуын күтіп, кезекте тұрудың қажеті жоқ. Бұл әлдеқайда жақсы өнімділікті қамтамасыз ететінімен келісіңіз. Енді Visual FoxPro көмегімен DLL жасағанда, таңдауға болатын бірнеше құрастыру опциялары бар. Сіз таңдаған опцияға байланысты DLL файлы жүктелген кезде қай орындалу кітапханасын іздеу керектігін көрсететін белгіні алады. Бұл белгіні тек кейінгі құрылымдарда өзгертуге болады. Егер жобаларды пәрмен жолынан құрастырсаңыз, жаңа функционалдылыққа жаңа пәрмен қолдау көрсетеді:

MTDLL файл атауын ProjectName-ден ҚҰРАСТЫРЫҢЫЗ

Басқа нәрселермен қатар, жаңа кітапхана әрқашан бір данада болады, ал бар Vfp6r.DLL оны эксклюзивті режимде пайдаланып жатқан басқа процестен бұғаттауды болдырмау үшін белгілі бір жағдайларда жаңа атпен көшіріледі. Дәл сол Config.fpw енді COM серверлерін конфигурациялау үшін пайдаланылады, тек ол серверге ендірілген болуы керек. Бұл оның құрылғысында бірнеше конфигурация файлдары бар пайдаланушы оның конфигурация файлын сервер алдымен ұстап алғандықтан серверіңізді шатастыра алмайтынын білдіреді.