Tercera y última parte del artículo "Creando un servidor COM de subproceso múltiple" escrito por Antonio Muñoz de Burgos y Caravaca (eMans).
Parte 3 de 3
• READ,@...Get/Says
• Comandos y funciones de menús, emergentes y barras.
• MESSAGEBOX() y WAIT WINDOW
GENERAN ERRORES EN TIEMPO DE EJECUCIÓN
;@…BOX | ;@…CLASS | ;@…CLEAR |
;@…EDIT | ;@…FILL | ;@…GET |
;@…MENU | ;@…PROMPT | ;@…SAY |
;@…SCROLL | ;@…TO | _ALIGNMENT |
_ASSIST | _BEAUTIFY | _BOX |
_CALCMEM | _CALCVALUE | _CONVERTER |
_COVERAGE | _CUROBJ | _DBLCLICK |
_DIARYDATE | _FOXDOC | _GALLERY |
_GENMENU | _GENPD | _GENSCRN |
_GETEXPR | _INDENT | _LMARGIN |
_PADVANCE | _PBPAGE | _PCOLNO |
_PCOPIES | _PDRIVER | _PDSETUP |
_PECODE | _PEJECT | _PEPAGE |
_PLENGTH | _PLINENO | _PLOFFSET |
_PPITCH | _PQUALITY | _PSCODE |
_PSPACING | _PWAIT | _RMARGIN |
_RUNACTIVEDOC | _SCCTEXT | _SPELLCHK |
_STARTUP | _TABS | _THROTTLE |
_TRANSPORT | _WRAP | ACCEPT |
ACTIVATE MENU | ACTIVATE POPUP | ACTIVATE SCREEN |
ACTIVATE WINDOW | AGETCLASS() | AMOUSEOBJ() |
ANSITOOEM() | ASELOBJ() | ASSERT |
ASSIST | BAR() | BARCOUNT() |
BARPROMPT() | BROWSE | CALL |
CHANGE | CLEAR DEBUG | CLEAR GETS |
CLEAR MACROS | CLEAR MENUS | CLEAR POPUPS |
CLEAR PROMPT | CLEAR READ | CLOSE DEBUGGER |
CLOSE FORMAT | CLOSE MEMO | CNTBAR() |
CNTPAD() | COL() | CREATE |
CREATE CLASS | CREATE CLASSLIB | CREATE COLOR SET |
CREATE FORM | CREATE LABEL | CREATE MENU |
CREATE PROJECT | CREATE QUERY | CREATE REPORT |
CREATE SCREEN | DEACTIVATE MENU | DEACTIVATE POPUP |
DEACTIVATE WINDOW | DEBUG | DEBUGOUT |
DEFINE BAR | DEFINE BOX | DEFINE MENU |
DEFINE PAD | DEFINE POPUP | DEFINE WINDOW |
EDIT | FKLABEL() | |
FKMAX() | GETBAR() | GETCOLOR() |
GETCP() | GETDIR() | GETEXPR() |
GETFILE() | GETFONT() | GETPAD() |
GETPICT() | GETPRINTER() | HELP |
HIDE MENU | HIDE POPUP | HIDE WINDOW |
IMESTATUS() | INPUT | KEYBOARD |
LOAD | LOCFILE() | MCOL() |
MDOWN() | MENU | MENU TO |
MENU() | MESSAGEBOX() | Comandos MODIFY |
MOUSE | MOVE POPUP | MOVE WINDOW |
MRKBAR() | MRKPAD() | MROW() |
MWINDOW() | OBJNUM() | OBJVAR() |
OEMTOANSI() | ON BAR() | ON ESCAPE |
ON EXIT Commands | ON KEY | ON KEY LABEL |
ON PAD | ON PAGE | ON READERROR |
ON SELECTION BAR | ON SELECTION MENU | ON SELECTION PAD |
ON SELECTION POPUP | PAD() | PLAY MACRO |
POP KEY | POP MENU | POP POPUP |
POPUP() | PRMBAR() | PRMPAD() |
PROMPT() | PUSH KEY | PUSH MENU |
PUSH POPUP | PUTFILE() | RDLEVEL() |
READ | READ MENU | READKEY() |
REGIONAL | RELEASE BAR | RELEASE MENUS |
RELEASE PAD | RELEASE POPUPS | RELEASE WINDOWS |
RESTORE MACROS | RESTORE SCREEN | RESTORE WINDOW |
ROW() | SAVE MACROS | SAVE SCREEN |
SAVE WINDOWS | SCROLL | SHOW GET(S) |
SHOW MENU | SHOW OBJECT | SHOW POPUP |
SHOW WINDOW | SIZE POPUP | SIZE WINDOW |
SKPBAR() | SKPPAD() | SUSPENDER |
VARREAD() | WAIT | WBORDER() |
WCHILD() | WCOLS() | WEXIST() |
WFONT() | WLAST() | WLCOL() |
WLROW() | WMAXIMUM() | WONTOP() |
WOUTPUT() | WPARENT() | WREAD() |
WROWS() | WTITLE() | WVISIBLE() |
XMINIMUM() | ZOOM WINDOW |
NO GENERAN ERRORES EN TIEMPO DE EJECUCIÓN
DOEVENTS | ||
SET ASSERTS | SET BELL | SET BORDER |
SET BROWSEME | SET BRSTATUS | SET CONSOLE |
SET COLOR | SET CLEAR | SET CLOCK |
SET COVERAGE | SET CONFIRM | SET CURSOR |
SET CPDIALOG | SET DEBUGOUT | SET DEBUG |
SET DEVELOPMENT | SET DELIMITERS | SET DISPLAY |
SET DOHISTORY | SET ESCAPE | SET ECHO |
SET EVENTLIST | SET EVENTTRACKING | SET FORMAT |
SET FUNCTION | SET HELP | SET INTENSITY |
SET MARK OF | SET MACDESKTOP | SET MACKEY |
SET MARGIN | SET MESSAGE | SET NOTIFY |
SET ODOMETER | SET PALETTE | SET PDSETUP |
SET READBORDER | SET REFRESH | SET RESOURCE |
SET SAFETY | SET SKIP OF | SET STICKY |
SET STATUS | SET SYSMENU | SET TALK |
SET TRBETWEEN | SET TYPEAHEAD | SET VIEW |
SET WINDOW | SYS(1037) | SYS(18) |
SYS(103) | SYS(2002) | SYS(1270) |
SYS(2017) | SYS(4204) | SYS(2016) |
|
Cuando registramos nuestro componente, se crean varias claves en el registro del Sistema, con las imágenes expuestas podemos ver como quedan en el registro del Sistema.
Podemos ver la Biblioteca en tiempo de ejecución que será usada en la llave: Foxruntime, la ruta donde se encuentra registrado nuestro componente, etc.
Estas entradas se registran en HKEY_CLASSES_ROOTCLSID{aquí GUID generado al compilar}
Si realizas compilaciones donde vuelvas a generar el GUID, es conveniente que previamente quites las entradas del registro, de forma contraria te encontraras que tienes el registro del Sistema con un montón de basura.
(regsvr32 /u MiComponente.dll)
Este el fichero miComponenteWeb.VBR que se ha generado al compilar el componente del ejemplo.
VERSION=1.0.0 HKEY_CLASSES_ROOTmicomponenteweb.MiComponenteWeb = micomponenteweb.MiComponenteWeb HKEY_CLASSES_ROOTmicomponenteweb.MiComponenteWebNotInsertable HKEY_CLASSES_ROOTmicomponenteweb.MiComponenteWebCLSID = {C735E044-08DD-4F98-A0A3-6561B4EC10DD} HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD} = micomponenteweb.MiComponenteWeb HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}ProgId = micomponenteweb.MiComponenteWeb HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}VersionIndependentProgId = micomponenteweb.MiComponenteWeb HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}InProcServer32 = micomponenteweb.dll HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}InProcServer32"ThreadingModel" = Apartment HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}TypeLib = {3371A7EA-3BDA-4101-84AC-51A32B9F9E3B} HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}Version = 1.0 HKEY_CLASSES_ROOTCLSID{C735E044-08DD-4F98-A0A3-6561B4EC10DD}Foxruntime = VFP7T.DLL HKEY_CLASSES_ROOTINTERFACE{5E398B91-C7E1-41DD-B66F-DE22CED073C9} = MiComponenteWeb HKEY_CLASSES_ROOTINTERFACE{5E398B91-C7E1-41DD-B66F-DE22CED073C9}ProxyStubClsid = {00020424-0000-0000-C000-000000000046} HKEY_CLASSES_ROOTINTERFACE{5E398B91-C7E1-41DD-B66F-DE22CED073C9}ProxyStubClsid32 = {00020424-0000-0000-C000-000000000046} HKEY_CLASSES_ROOTINTERFACE{5E398B91-C7E1-41DD-B66F-DE22CED073C9}TypeLib = {3371A7EA-3BDA-4101-84AC-51A32B9F9E3B} HKEY_CLASSES_ROOTINTERFACE{5E398B91-C7E1-41DD-B66F-DE22CED073C9}TypeLib"Version" = 1.0 ; TypeLibrary registration HKEY_CLASSES_ROOTTypeLib{3371A7EA-3BDA-4101-84AC-51A32B9F9E3B} HKEY_CLASSES_ROOTTypeLib{3371A7EA-3BDA-4101-84AC-51A32B9F9E3B}1.0 = micomponenteweb Type Library HKEY_CLASSES_ROOTTypeLib{3371A7EA-3BDA-4101-84AC-51A32B9F9E3B}1.0win32 = micomponenteweb.dll HKEY_CLASSES_ROOTTypeLib{3371A7EA-3BDA-4101-84AC-51A32B9F9E3B}1.0FLAGS = 0 |
IMÁGENES DEL REGISTRO
Bibliografía y/o documentación adicional:
Biblioteca MSDN & Resource KIT.
Manual de Referencia de Visual FoxPro.
Antonio Muñoz de Burgos y Caravaca
www.emans.com (Web realizada en vFoxPro)
Sevilla - España
Manifestando el apoyo a la comunidad de desarrolladores de MS Visual FoxPro.
Todas las marcas aquí mencionadas, están registradas por sus respectivos fabricantes.
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.