1º não trabalhe com Strings... use PCHAR
2º vc tem q criar o form antes de chamar a função.... APPLICATION.CREATEFORM...... e deixar o comando ACTION := CAFREE após terminar o processo.....
----- Original Message -----
From: Marcelo Alves de Souza
To: delphi-br@yahoogrupos.com.br
Sent: Monday, May 22, 2006 4:53 PM
Subject: RES: [delphi-br] Criando DLL
Será que ninguém pode me ajudar???
Marcelo.
-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Marcelo Alves de Souza
Enviada em: segunda-feira, 22 de maio de 2006 12:26
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Criando DLL
Pessoal,
Preciso criar uma DLL que se conecta a uma base SQL Server e gere um
Relatório em PDF.
Eu sei como fazer tudo isso, esse não é o problema, o que está me faltando
mesmo é um pouco de conhecimento referente a parte de DLL's mesmo.
Seguinte:
Criei o meu projeto DLL conforme abaixo:
library minhadll;
uses
SysUtils,
Classes,
uPrincipal in 'uPrincipal.pas' {frmPrincipal},
uRelatorio in 'uRelatorio.pas' {Rep: TQuickRep};
{$R *.res}
Procedure GeraPDF( Servidor, Tipo: String ); stdcall; begin
frmPrincipal.GeraRelatorio( Servidor, Tipo ); end;
exports GeraPDF;
end.
Como vocês podem ver tenho duas Units no meu projeto. Uma é somente um form
para eu colocar os componentes que necessito, no Caso o ADOConnection,
ADOQuery e um outro que uso para exportar para PDF. A outra unit é um
Report.
Ao debugar bem na linha abaixo:
frmPrincipal.GeraRelatorio( Servidor, Cliente, Tipo, Dir, DataIni, DataFim
);
recebo um erro de access violation. Como as minhas ações estão no form
frmPrincipal e o erro acontece justamente ao chamar algo que está nele,
percebi que estava faltando eu criar o form. Aí tentei de todos os jeitos e
não consegui. O que está faltando eu declarar para que eu possa utilizar o
form frmPrincipal.
Para criar o frmPrincipal tentei um dos dois códigos abaixo:
Forma 1:
Application.CreateForm( TfrmPrincipal, frmPrincipal ) ;
Forma 2:
If frmPrincipal = Nil Then frmPrincipal := TfrmPrincipal.Create( Self )
;
Poderiam me ajudar????????
Att,
Marcelo A. Souza
--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
Links do Yahoo! Grupos
--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE
------------------------------------------------------------------------------
Links do Yahoo! Grupos
a.. Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
b.. Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.
__________ Informação do NOD32 IMON 1.1553 (20060522) __________
Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset.com.br
[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]
Yahoo! Grupos, um serviço oferecido por: | |
|
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!.