use PChar, não use parametros do tipo String em dlls..


  Function AbreConsultas(Tela, TipoProduto: PChar):PChar;Stdcall;


..recomendo usar try..except para não deixar estourar excessão..


  try
     FormProd := TFCons_Produtos.Create(Application);
     FormProd.VTipoProduto := TipoProduto;
     if FormProd.ShowModal =mrok then;
        Vcodigo := FormProd.VCodigoProduto;
  except
     on oE: Exception do
        Forms.Application.ShowException( oE );
  end;
  if FormProd <> nil then
     FormProd.Release;
  Result := PChar( VCodigo );



FILIPE BELCHIOR
Tecnólogo de Informática
Multibrands Consultoria em Tecnologia



--- Em delphi-br@yahoogrupos.com.br, "Weber Luvisa" <[EMAIL PROTECTED]> escreveu
>
> Olá, tenho alguns form dentro de uma DLL, porém quando chama o form a
> 1 vez ele funciona a segunda ela da erro.. estou chamando assim:
> Function AbreConsultas(Tela, TipoProduto: String):String;Stdcall;
> var
>   VCodigo : String;
>   FormProd : TFCons_Produtos;
> begin
>   if Tela = 'Produtos' then
>   begin
>     FormProd := TFCons_Produtos.Create(Application);
>     FormProd.VTipoProduto := TipoProduto;
>     if FormProd.ShowModal =mrok then;
>        Vcodigo := FormProd.VCodigoProduto;
>     FormProd.Free;
>     Result := VCodigo;
>   end;
> end;
> exports
>   CriaDMConsultas,
>   DestroiDMConsultas,
>   AbreConsultas;
>
> o INTERESSANTE QUE se uso apenas FORMPROD := NIL FUNCIONA, PARA ABRIR
> ALGUMA VEZES MAIS PORÉM QUANDO ABERTO MUITAS VEZES (MAIS QUE 4
> GERALMENTE) DA ERRO TAMBÉM...
>






--
<<<<< 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