Problema com chamada de form em DLL
16/12/2009
0
Caros amigos,
Tenho uma DLL, a qual possui um form com um componente RLReport, que é chamada através de uma função, fazendo o preview do relatório. O código abaixo é do procedimento de chamada dentro da DLL:
procedure PrintContrato(Caller: TApplication; DBName: string;
Pedido: Integer; Cliente: Integer; FormAncora: TForm); stdcall;
begin
Application := Caller; //dessa forma não se gera novo botão na barra
// de tarefas, utilizando o mesmo botão do programa
Application.CreateForm(TPrintRel, PrintRel);
PrintRel.ParentWindow := FormAncora.Handle;
PrintRel.RLReport1.PreviewModal;
PrintRel.Free;
end;
exports
PrintContrato;
end.
O problema, é que, após a aplicação que utiliza esta DLL chamar essa função e gerar o preview do relatório, não apresenta erro algum, mas ao encerrar o mesmo, é informado o seguinte erro duas vezes:
A instrução no "0x00a7391a" fez referência à memória no "0x01341fa8". A memória não pôde ser "read". Clique em 'OK' para encerrar o programa.
E em seguida aparece a mensagem "Runtime error 216 at 00A7391A."
Alguém pode me ajudar???
Tarcisio Trindade
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)