Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Referente artigo O VFP e o COM Avançado
Message
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Programmation Orientée Object
Titre:
Referente artigo O VFP e o COM Avançado
Divers
Thread ID:
00621727
Message ID:
00621727
Vues:
44
Raposas,

Estou lendo o artigo "O Microsoft Visual FoxPro e o COM Avançado", escrito por Calvin Hsia, disponível na MSDN, e testando alguns exemplos apresentados.

Tive os 2 problemas abaixo, e gostaria de saber se alguém sabe a razão.

Agradeço antecipadamente.

Abraços,

Márcio

****************************************************
Problemas ocorridos
****************************************************

1) Em uma macro do Excel, está dando erro:

Sub t()
&& na linha abaixo está ocorrendo o erro:
&& Erro de compilação
&& O tipo definido pelo usuário não foi definido
Dim ox As New myserver.myclass
...
End Sub

Ao passo que no VFP, está funcionando:

ox = CreateObject("myserver.myclass")
? ox.MyEval("datetime()")

2) Testei a chamada de COMReturnError, como no exemplo do artigo:

ox = CreateObject("myserver.myclass")
? ox.mydocmd("illegal command")
? aerror(myarray)
list memo like myarray

Mas o resultado que obtive foi:
MYARRAY Pub A
( 1, 1) N 16 ( 16,00000000)
( 1, 2) C "Unrecognized command verb."
( 1, 3) C .NULL.
( 1, 4) C .NULL.
( 1, 5) C .NULL.
( 1, 6) C .NULL.
( 1, 7) C .NULL.

Enquanto que no artigo está escrito que o vetor deveria conter os
seguintes valores:

MYARRAY Pub A
( 1, 1) N 1429 ( 1429,00000000)
( 1, 2) C "OLE IDispatch exception code 0 from mydocmd
err#= 16 line= 2 Unrecoginezed command
verb.: c:\...\myserver.exe"
( 1, 3) C c:\...\myserver.exe"
( 1, 4) C "mydocmd err#= 16 line= 2 Unrecognized
command verb."
( 1, 5) C ""
( 1, 6) C 0 ( 0.00000)
( 1, 7) C 0 ( 0.00000)

**************************************************
Marcio Gomes Gonçalves
Niteroi-RJ-Brasil
gomes@metha.com.br

Paz e Bem!
Répondre
Fil
Voir

Click here to load this message in the networking platform