Acho que tah quase mas ainda n�o funcionou, veja a se��o Type.
type
// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
_NewMultiMapCtl = interface;
__NewMultiMapCtl = dispinterface;
// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
NewMultiMapCtl = _NewMultiMapCtl;
Se eu adicionar ao uses a Unit NewMultiMap_TLB, eu posso declarar uma
variavel de ambos os tipos acima e todas me disponibilizam as fun��es
que preciso, porem quando vou acessar qualquer uma delas dah erro de
viola��o de acesso a mem�ria.
procedure TForm1.Button1Click(Sender: TObject);
var
F: NewMultiMapCtl;
begin
F.CloseTables; //Nesta chamada ocorre o erro
end;
Macfly escreveu:
> Deve existir acima destes codigos alguma defini��o de tipos por exemplo:
> type
> NewMultiMapCtl = interface;
>
> Vc vai ter que declarar uma variavel com esse tipo e ent�o utilizar
> como se fosse uma classe/objeto...
>
> Teste : NewMultiMapCtl;
>
> Teste.OpenWorkSpace(...);
>
> Acho que � por ai...
>
>
> []'s
>
> Macfly
>
>
>
>
> -=SchiavoR=- <[EMAIL PROTECTED]> wrote:
> Por favor dah uma olhada como esta no arquivo _TLB.pas, o nome da OCX eh
> NewMultiMap.ocx
>
> Existem duas referencias a esta funcao no arquivo .PAS que o Delphi gerou.
>
> _NewMultiMapCtl = interface(IDispatch)
> ['{BFC9C8B5-8FAC-4D89-A1DB-79D04D05B824}']
> function OpenWorkSpace(var cPathWorkSpace: WideString): WordBool;
> safecall;
>
> E tem assim tb:
> _NewMultiMapCtlDisp = dispinterface
> ['{BFC9C8B5-8FAC-4D89-A1DB-79D04D05B824}']
> function OpenWorkSpace(var cPathWorkSpace: WideString): WordBool;
> dispid 1610809377;
>
>
> O codigo correto do que estou fazendo:
> type
> TOpenWork = function(var cPathWorkSpace: WideString): WordBool;
>
> procedure TForm1.Button3Click(Sender: TObject);
> var
> Handle: Integer;
> WorkSpace: TOpenWork;
> begin
> Handle := LoadLibrary('NewMultiMap.ocx');
> if (Handle <> 0) then
> begin
> @WorkSpace := GetProcAddress(Handle, 'OpenWorkSpace');
> if (@WorkSpace <> nil) then
> begin
> Label3.Caption := 'OK';
> end;
> FreeLibrary(Handle);
> end;
> end;
>
> Macfly escreveu:
>
> > Ol�...
> > Acho que vc dever� incluir a unit gerada quando vc importou o ocx no
> > seu projeto...
> > e ent�o dar uma olhada no source dela.. para verificar quais fun��es e
> > classes est�o dispon�veis...
> >
> > []''s
> > Macfly
> >
> >
> >
> > -=SchiavoR=- <[EMAIL PROTECTED]> wrote:
> > Acho que eu sou muito burro, pq naum to conseguindo achar exemplos no
> > google sobre isso, estou tentando seguir o exemplo do Delphi sobre DLL.
> >
> > Desta forma eu consigo obter um Handle para a OCX, atrav�s do
> > LoadLibrary, mas a fun��o GetProcAddress n�o esta conseguindo encontrar
> > a fun��o.
> >
> > Ajuda PLZ!
> >
> > type
> > TOpenWork = function(PathTable: String): Boolean;
> > ....
> > ....
> >
> > procedure TForm1.Button1Click(Sender: TObject);
> > var
> > Handle: Integer;
> > OpenWS: TOpenWork ;
> > begin
> > Handle := LoadLibrary('TESTE.OCX');
> > if Handle <> 0 then
> > begin
> > @OpenWS:= GetProcAddress(Handle, 'OpenWorkSpace');
> > if (@OpenWS<> nil) then
> > begin
> > OpenWS('c:\teste.map');
> > Label1.Caption := 'OK';
> > end;
> > FreeLibrary(Handle);
> > end;
> > end;
> >
> >
> >
> > Rodrigo Othavio Farias escreveu:
> >
> > > Cara vc precisa da documenta��o desse activex, sem ela vc nao faz
> > > nada, � a
> > > mesma coisa que querer usar uma dll normal sem saber as funcoes e os
> > > parametros dela
> > >
> > > Pra usar basicamente vc vai chamar as fun��es como se fossem dlls
> > > normais,
> > > mas vc tem que saber quais sao as funcoes e quais os parametros de
> > > entrada e
> > > saida
> > >
> > > Se vc procurar bem na internet com certeza vai achar algum exemplo de
> > > uso de
> > > activex no delphi, procura por
> > >
> > > delphi vb activex
> > >
> > >
> > > Ou algo do genero que deve aparecer varios exemplos de uso.
> > >
> > >
> > > []�s
> > > Rodrigo O. Farias
> > >
> > >
> > > ----- Original Message -----
> > > From: -=SchiavoR=-
> > > To: [email protected]
> > > Sent: Wednesday, June 01, 2005 2:30 PM
> > > Subject: RES: [delphi-br] Duvidas ActiveX
> > >
> > >
> > > Vixe agora ficou fogo.
> > >
> > > Posso te contar um segredo?
> > >
> > > O povo que desenvolveu n�o sabe como faz pra usar no Delphi.
> > >
> > > To bem de suporte n�?
> > >
> > > Ser� que se eu postar o _TLB que o Delphi gerou com as defini��es das
> > > interfaces reconhecidas na OCX algu�m aqui conseguiria entender e me
> > > ajudar?
> > >
> > > Walter Alves Chagas Junior escreveu:
> > >
> > > > �h, biblioteca s�o outros 500. Voc� vai ter que consultar a
> > > > documenta��o do
> > > > produto pra ver como fazer pra instalar ela
> > > >
> > > >
> > > >
> > > > []s
> > > >
> > > > Walter Alves Chagas Junior
> > > > Projeto e desenvolvimento
> > > > Telemont Engenharia de telecomunica��es
> > > > Belo Horizonte - MG - Brazil
> > > > [EMAIL PROTECTED]
> > > > Fone: (31) 3389-8215 Fax: (31) 3389-8200
> > > >
> > > >
> > > > > -----Mensagem original-----
> > > > > De: -=SchiavoR=- [mailto:[EMAIL PROTECTED]
> > > > > Enviada em: quarta-feira, 1 de junho de 2005 13:51
> > > > > Para: [email protected]
> > > > > Assunto: Re: RES: RES: [delphi-br] Duvidas ActiveX
> > > > >
> > > > >
> > > > > N�o � exatamente um componente eh uma biblioteca que
> > > > > implementa fun��es
> > > > > e procedimentos (interface) criada em visual basic pra execu��o de
> > > > > comandos e intera��o com outro programa.
> > > > >
> > > > > Walter Alves Chagas Junior escreveu:
> > > > >
> > > > > > Ai eu n�o sei. Teria que ver o componente do que se trata.
> > > > > Mas deveria ter
> > > > > > viu.
> > > > > >
> > > > > >
> > > > > >
> > > > > > []s
> > > > > >
> > > > > > Walter Alves Chagas Junior
> > > > > > Projeto e desenvolvimento
> > > > > > Telemont Engenharia de telecomunica��es
> > > > > > Belo Horizonte - MG - Brazil
> > > > > > [EMAIL PROTECTED]
> > > > > > Fone: (31) 3389-8215 Fax: (31) 3389-8200
> > > > > >
> > > > > >
> > > > > > > -----Mensagem original-----
> > > > > > > De: -=SchiavoR=- [mailto:[EMAIL PROTECTED]
> > > > > > > Enviada em: quarta-feira, 1 de junho de 2005 11:40
> > > > > > > Para: [email protected]
> > > > > > > Assunto: Re: RES: [delphi-br] Duvidas ActiveX
> > > > > > >
> > > > > > >
> > > > > > > Ol� Walter, obirgado por responder.
> > > > > > >
> > > > > > > O Delphi compila o pacote e instala belezinha, se eu for na
> > op��o
> > > > > > > Project/Options/Packages eu encontro ela na lista, e existe
> > o .BPL
> > > > > > > criado pra ela.
> > > > > > >
> > > > > > > Por�m na paleta ActiveX n�o existe nenhum �cone para ela,
> > > > > > > acho que ela
> > > > > > > n�o possui componente visual, apenas fun��es e procedimentos.
> > > > > > >
> > > > > > > Como proceder nisso?
> > > > > > >
> > > > > > > Walter Alves Chagas Junior escreveu:
> > > > > > >
> > > > > > > > O controle ActiveX, instalado no Delphi, ser� tratado como
> > > > > > > um componente.
> > > > > > > > Basta colocar o componente no formul�rio e usar as
> > > > > propriedades e os
> > > > > > > > recursos dele como se estivesse usando um DBEdit, por
> exemplo,
> > > > > > > >
> > > > > > > > So n�o se esque�a que quando voc� levar seu projeto para o
> > > > > > > cliente, voc�
> > > > > > > > ter� que levar as dll�s/ocx�s referentes ao
> > > > > supra-citado e instalar
> > > > > > > > elas l�
> > > > > > > > (seja via registro de dll ou via instalador pr�prio),
> conforme
> > > > > > > > instru��es do
> > > > > > > > fabricante. Do contrario seu programa ir� dar pau l� ao ser
> > > > > > > executado.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > []s
> > > > > > > >
> > > > > > > > Walter Alves Chagas Junior
> > > > > > > > Projeto e desenvolvimento
> > > > > > > > Telemont Engenharia de telecomunica��es
> > > > > > > > Belo Horizonte - MG - Brazil
> > > > > > > > [EMAIL PROTECTED]
> > > > > > > > Fone: (31) 3389-8215 Fax: (31) 3389-8200
> > > > > > > >
> > > > > > > >
> > > > > > > > > -----Mensagem original-----
> > > > > > > > > De: -=SchiavoR=- [mailto:[EMAIL PROTECTED]
> > > > > > > > > Enviada em: quarta-feira, 1 de junho de 2005 10:51
> > > > > > > > > Para: [email protected]
> > > > > > > > > Assunto: [delphi-br] Duvidas ActiveX
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Galera, bom dia!
> > > > > > > > >
> > > > > > > > > To precisando usar uma ActiveX aqui, pegar algumas
> > > > > fun��es etc.
> > > > > > > > >
> > > > > > > > > Jah importei ela no Delphi e ele gerou aquele arquivo
> > > > > > > *_TLB.pas, onde
> > > > > > > > > estao as interfaces, agora como fa�o pra chamar as
> fun��es,
> > > > > > > > > objetos que
> > > > > > > > > est�o l�?
> > > > > > > > >
> > > > > > > > > [ ]'s Rodrigo
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
> > > > > MENSAGEM >>>>>
> > > > > > > > >
> > > > > > > > > Para ver as mensagens antigas, acesse:
> > > > > > > > > http://br.groups.yahoo.com/group/delphi-br/messages
> > > > > > > > >
> > > > > > > > > Para falar com o moderador, envie um e-mail para:
> > > > > > > > > [EMAIL PROTECTED] ou
> > [EMAIL PROTECTED]
> > > > > > > > >
> > > > > > > > > Links do Yahoo! Grupos
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > [As partes desta mensagem que n�o continham texto foram
> > > > > removidas]
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
> > >>>>>
> > > > > > > >
> > > > > > > > Para ver as mensagens antigas, acesse:
> > > > > > > > http://br.groups.yahoo.com/group/delphi-br/messages
> > > > > > > >
> > > > > > > > Para falar com o moderador, envie um e-mail para:
> > > > > > > > [EMAIL PROTECTED] ou
> [EMAIL PROTECTED]
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > --------------------------------------------------------------
> > > > > > > ----------
> > > > > > > > *Links do Yahoo! Grupos*
> > > > > > > >
> > > > > > > > * Para visitar o site do seu grupo na web, acesse:
> > > > > > > > http://br.groups.yahoo.com/group/delphi-br/
> > > > > > > >
> > > > > > > > * Para sair deste grupo, envie um e-mail para:
> > > > > > > > [EMAIL PROTECTED]
> > > > > > > >
> > > > > >
> > > > >
> > <mailto:[EMAIL PROTECTED]>
> > > > > > >
> > > > > > > * O uso que voc� faz do Yahoo! Grupos est� sujeito
> > > > > aos Termos do
> > > > > > > Servi�o do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > > > > >
> > > > > > Para ver as mensagens antigas, acesse:
> > > > > > http://br.groups.yahoo.com/group/delphi-br/messages
> > > > > >
> > > > > > Para falar com o moderador, envie um e-mail para:
> > > > > > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > > > > >
> > > > > > Links do Yahoo! Grupos
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > [As partes desta mensagem que n�o continham texto foram
> removidas]
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > > > > >
> > > > > > Para ver as mensagens antigas, acesse:
> > > > > > http://br.groups.yahoo.com/group/delphi-br/messages
> > > > > >
> > > > > > Para falar com o moderador, envie um e-mail para:
> > > > > > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > --------------------------------------------------------------
> > > > > ----------
> > > > > > *Links do Yahoo! Grupos*
> > > > > >
> > > > > > * Para visitar o site do seu grupo na web, acesse:
> > > > > > http://br.groups.yahoo.com/group/delphi-br/
> > > > > >
> > > > > > * Para sair deste grupo, envie um e-mail para:
> > > > > > [EMAIL PROTECTED]
> > > > > >
> > > > >
> > <mailto:[EMAIL PROTECTED]>
> > > > > >
> > > > > > * O uso que voc� faz do Yahoo! Grupos est� sujeito aos
> > Termos do
> > > > > > Servi�o do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > > > >
> > > > > Para ver as mensagens antigas, acesse:
> > > > > http://br.groups.yahoo.com/group/delphi-br/messages
> > > > >
> > > > > Para falar com o moderador, envie um e-mail para:
> > > > > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > > > >
> > > > > Links do Yahoo! Grupos
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > [As partes desta mensagem que n�o continham texto foram removidas]
> > > >
> > > >
> > > >
> > > > --
> > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > > >
> > > > Para ver as mensagens antigas, acesse:
> > > > http://br.groups.yahoo.com/group/delphi-br/messages
> > > >
> > > > Para falar com o moderador, envie um e-mail para:
> > > > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > > >
> > > >
> > > >
> > > >
> > ------------------------------------------------------------------------
> > > > *Links do Yahoo! Grupos*
> > > >
> > > > * Para visitar o site do seu grupo na web, acesse:
> > > > http://br.groups.yahoo.com/group/delphi-br/
> > > >
> > > > * Para sair deste grupo, envie um e-mail para:
> > > > [EMAIL PROTECTED]
> > > >
> > > >
> <mailto:[EMAIL PROTECTED]>
> > > >
> > > > * O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> > > > Servi�o do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > >
> > > Para ver as mensagens antigas, acesse:
> > > http://br.groups.yahoo.com/group/delphi-br/messages
> > >
> > > Para falar com o moderador, envie um e-mail para:
> > > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> > >
> > > Links do Yahoo! Grupos
> > >
> > > Para visitar o site do seu grupo na web, acesse:
> > > http://br.groups.yahoo.com/group/delphi-br/
> > >
> > > Para sair deste grupo, envie um e-mail para:
> > > [EMAIL PROTECTED]
> > >
> > > O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> > Servi�o do
> > > Yahoo!.
> > >
> > >
> > >
> > >
> > >
> > > ____________________________________________________
> > > Yahoo! Mail, cada vez melhor: agora com 1GB de espa�o gr�tis!
> > > http://mail.yahoo.com.br
> > >
> > >
> > >
> > >
> > >
> > > --
> > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > >
> > > Para ver as mensagens antigas, acesse:
> > > http://br.groups.yahoo.com/group/delphi-br/messages
> > >
> > > Para falar com o moderador, envie um e-mail para:
> > > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> ------------------------------------------------------------------------
> > > *Links do Yahoo! Grupos*
> > >
> > > * Para visitar o site do seu grupo na web, acesse:
> > > http://br.groups.yahoo.com/group/delphi-br/
> > >
> > > * Para sair deste grupo, envie um e-mail para:
> > > [EMAIL PROTECTED]
> > >
> > <mailto:[EMAIL PROTECTED]>
> > >
> > > * O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> > > Servi�o do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > >
> > >
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> > Para ver as mensagens antigas, acesse:
> > http://br.groups.yahoo.com/group/delphi-br/messages
> >
> > Para falar com o moderador, envie um e-mail para:
> > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> >
> >
> >
> >
> > ---------------------------------
> > Links do Yahoo! Grupos
> >
> > Para visitar o site do seu grupo na web, acesse:
> > http://br.groups.yahoo.com/group/delphi-br/
> >
> > Para sair deste grupo, envie um e-mail para:
> > [EMAIL PROTECTED]
> >
> > O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> > Servi�o do Yahoo!.
> >
> >
> >
> > ---------------------------------
> > Yahoo! Mail Mobile
> > Take Yahoo! Mail with you! Check email on your mobile phone.
> >
> > [As partes desta mensagem que n�o continham texto foram removidas]
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> > Para ver as mensagens antigas, acesse:
> > http://br.groups.yahoo.com/group/delphi-br/messages
> >
> > Para falar com o moderador, envie um e-mail para:
> > [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> >
> >
> >
> > ------------------------------------------------------------------------
> > *Links do Yahoo! Grupos*
> >
> > * Para visitar o site do seu grupo na web, acesse:
> > http://br.groups.yahoo.com/group/delphi-br/
> >
> > * Para sair deste grupo, envie um e-mail para:
> > [EMAIL PROTECTED]
> >
> <mailto:[EMAIL PROTECTED]>
> >
> > * O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> > Servi�o do Yahoo! <http://br.yahoo.com/info/utos.html>.
> >
> >
>
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
>
>
>
> ---------------------------------
> Links do Yahoo! Grupos
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/delphi-br/
>
> Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
>
> O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> Servi�o do Yahoo!.
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> [As partes desta mensagem que n�o continham texto foram removidas]
>
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
>
>
> ------------------------------------------------------------------------
> *Links do Yahoo! Grupos*
>
> * Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/delphi-br/
>
> * Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
>
> * O uso que voc� faz do Yahoo! Grupos est� sujeito aos Termos do
> Servi�o do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>
--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que voc� faz do Yahoo! Grupos est� sujeito aos:
http://br.yahoo.com/info/utos.html