Foxpro club de VFP ca ole-server
DataToClip ([nWorkArea | cTableAlias] [, nRecords] [, nClipFormat])
nWorkArea, cTabieAlias - spațiu de lucru sau porecla sursă de date.
nRecords - numărul de înregistrări copiate. implicit uClipFormat este 1, iar câmpurile de date sunt separate prin spații. Dacă parametrul este 3, date este împărțit de file.
Copiile de înregistrare în clipboard ca un text în care fiecare înregistrare ocupă o singură linie.
cCommand - expresie care reprezintă echipa VFP.
Permite comanda Visual FoxPro dintr-o aplicație care OLE- # 234, # 238, # 237, # 242, # 240, # 238, # 235, # 235, # 229, # 240, # 238, # 236;.
cExpression - expresia care urmează să fie convertită.
Convertește expresie și returnează către Visual FoxPro.
Ajutor ([cFileName] [, nContexId] [, cHelpTopic])
cFileName - numele și calea spre ajutor on-line. NcontextID - partiția ID. cHelpTopic - secțiunea subiect.
Se deschide o fereastră cu ajutorul sensibile la context.
Se închide rulează copie a aplicației Visual FoxPro.
RequestData ([nWorkArea | cTableAlias] [, nRecords])
nWorkArea, cTableAlias - spațiu de lucru sau porecla sursă de date. nRecords - numărul de înregistrări copiate.
Se creează un tablou cu date de la sursa de date Visual FoxPro.
Pentru a se referă la obiectul Application, puteți utiliza _VFP variabile de sistem.
Visual FoxPro 5.0 are următoarele colecții, care sunt asociate aplicației obiect:
În acest caz, rețineți că aceste colecții sunt colecții exclusiv OLE- # 238; # 225; # 250; # 229; # 234; # 242; # 238; # 226; și poate fi utilizat numai cu subiectul solicitării. Pentru aceste colecții nu pot fi accesate folosind variabile asociate cu obiectele incluse în ele. Trebuie să utilizați proprietatea Application. așa cum se arată mai jos:
oFrm = CreateObject ( 'Forma')
. oFrm.Application.Forms [1] .Controls.Count
Dacă ați scris un program în Visual FoxPro 3.0, declarația poate provoca unele surpriză dat mai sus. Aceste colecții au fost prezentate și în a treia versiune, într-adevăr este. Dar, după cum Visual FoxPro 3. 0 ar putea servi ca server de OLE-, aceste colecții nu îndeplinesc standardele general acceptate de OLE. În primul rând datorită faptului că proprietățile lor sunt disponibile pentru modificare. Acest lucru este util atunci când lucrăm cu o singură aplicație. Ca și înainte, noi nimeni nu deranjează să continue să folosească aceste caracteristici. Dar, de îndată ce vom începe să utilizeze aplicația ca OLE-server, care este, la rândul său să-l dintr-o altă aplicație, trebuie să utilizați Visual obiecte FoxPro ca OLE- # 234; .. # 238; # 235; # 235; # 229; # 234 ; # 246, # 232, # 232;.
De exemplu, nimic nu ne împiedică să creeze o formă în FoxPro Visual scrie următorul cod:
Frm = CreateObject ( 'Forma')
. oFrm.ControlCount Numărul de controale pe un formular
Pentru OLE -Server numărul de controale pe formular trebuie definite așa cum sa arătat în exemplul anterior, folosind Count proprietățile.
Crearea OLE-server FoxPro Visual
Folosind Visual FoxPro 5.0, puteți crea o funcționalitate OLE-server, care va fi utilizat de mai multe aplicații.
Pentru a crea un OLE-server și utilizate în clasele ar trebui să fie descrisă ca OLE publică, t. E. Disponibil pentru automatizare OLE. Pentru a face acest lucru, comanda DEFINE CLASS include o nouă opțiune OLEPUBLIC. În cazul în care o clasă este creată în constructorul clasei, trebuie să utilizați comutatorul corespunzător în caseta de dialog independent de clasa Info. Marcarea unei clase ca OLE Public permite Managerul de Proiect în construcția unei cereri de a crea și înregistra clasa ca server O L E la care urmează să fie accesat OLE- # 234; # 238; # 237; # 242; # 240; # 238; # 235; # 235; # 229; # 240;.
În Visual FoxPro, puteți crea ca un server in-proces (DLL), și out-of-Process Server (EXE). Ambele tipuri de servere funcționează folosind Visual FoxPro biblioteca suport aplicatie (execuție), dar, în esență, exprimate în utilizarea memoriei.
serverul EXE are un alt avantaj. Acesta poate servi ca server OLE și o aplicație Visual FoxPro obișnuită. Astfel, în cazul în care aplicația utilizează un server de controler pentru a executa un proces, care poate fi foarte consumatoare de resurse, dar se execută la nivel local pe server, vom obține un beneficiu de performanță.
Afișați un exemplu simplu de a crea un Visual FoxPro OLE-server. Crearea unui nou Ole_serv proiect, care va fi un singur fișier program cu următorul cod:
DEFINE CLASS OLE_SERV AS CUSTOM OLEPUBLIC
PROCEDURA DE INIT
Me SSAGEBOX (PROGRAM (), "LUCRU MY FIRST OLE-server")
ENDDEFINE
Construiește și apăsați butonul sau crea EXE- DLL- # 244; # 224, # 233, # 235;. Dacă monitorizați îndeaproape mesajul apare în procesul de construire a unui fișier, ați observat, probabil, mesajul „Crearea de tip bibliotecă și înregistrarea OLE Server“, Koto # 240; nd indică stabilirea și înregistrarea programului nostru ca OLE- # 241; # 229; # 240; # 226; # 229; pa. Să ne amintim că acest lucru a fost din cauza prezenței de opțiuni în OLEPUBLIC echipa descrieri de clasă.
Atunci când construirea OLE-server (OLE_SER.EXE sau OLE_SER.DLL) fișiere sunt create și OLE_SERV.TLB OLE_SERV.VBR.
Tep Ef puteți introduce în fereastra de comandă următoarea linie:
După o scurtă așteptare necesar pentru încărcarea serverului, veți vedea o fereastră cu titlul „My First Works OLE-server!“ Și mesajul cu numele procedurilor de executare în prezent - Init.
Deși -Server nostru OLE nu efectuează nici o lucrare utilă, o dovadă a activității sale sunt următoarele c trochki.
Notă ultima linie a exemplului. Acesta înregistrează în clipboard calea către OLE-server # 243; cu trei funcții. De exemplu, acesta poate fi un șir de caractere: D \ WORKS \ VFP5_SAMPLE \. În exemplul nostru, acesta va fi repetat de trei ori. Acest lucru indică faptul că serverul OLE începe să caute cu ndows SYS TEM OS Wi.
Astfel, pentru propagarea și App en Ia și instalarea serverului pe diferite calculatoare in diferite la atalogah, m s se poate confrunta cu problema de a indica un mod în mine ca un server, și le-a folosit pentru a componentelor (fișiere de baze de date, formulare, raportează și așa mai departe. d.). Lou chshee Soluția - este utilizarea unei funcții de server EXE API Windows GetM odul EFI leName (), care returnează calea completă la fișierul principal EXE al procesului curent, în cazul în care primul parametru este nul. Pentru un server DLL, puteți utiliza funcția GetModuleHandleQ DLL nume de fișier ca parametru pentru a returna un pointer la server. Acest indicator poate fi utilizat funcția GetModuleFileName () pentru a obține calea completă la server DLL.
Instancing listă verticală vă permite să specificați modul în care serverul va rula out-of-proces. Setări posibile sunt prezentate în Tabelul. 3.
moduri posibile de Visual FoxPro server de OLE-