2 coisinhas:
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:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a