vc tem que dar um create nesse objeto, vc ta só dizendo que tem uma variavel do tipo tal, mas ela nao ta inicializada
[]´s Rodrigo O. Farias ----- Original Message ----- From: -=SchiavoR=- To: delphi-br@yahoogrupos.com.br Sent: Friday, June 03, 2005 2:03 PM Subject: Re: [delphi-br] Duvidas ActiveX 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: delphi-br@yahoogrupos.com.br > > > 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: delphi-br@yahoogrupos.com.br > > > > > 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: delphi-br@yahoogrupos.com.br > > > > > > > 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: delphi-br@yahoogrupos.com.br > > > > > > > > > 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 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] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html