Passar TRichEdit como parametro para uma DLL

Delphi

25/11/2006

Pessoal,
Estou fazendo uma dll onde eu pretendo executar o seguinte procedimento:

Vou passar como paremetro para esta DLL um TRichEdit ... nesta dll eu quero pegar o texto contido no TRichEdit que eu passei no parametro e salvar em um arquivo qualquer ... Ficaria algo parecido com isso:

library Email; uses (..) procedure GravaArquivo( rRichEdit : TRichEdit ); Export; begin rRichEdit.Lines.Add( ´Inserir um texto qualquer na ultima linha´ ); rRichEdit.Lines.SaveToFile( ´c:\temp.txt´ ); end; Exports GravaArquivo; begin end.



E para usar a DLL eu faria assim, teria em minha aplicação um TRichEdit com algum texto qualquer:


(..) GravaArquivo( RichEdit_Informacoes ); (..)



Bom pessoal .. era mais ou menos isso que eu estou precisando fazer, alguem pode me dar um help ... pois fazendo exatamente como eu descrevi estou tendo como retorno o seguinte erro:

Access violation at address 0032326c in module ´Teste.dll´. Read of address 04eb5856.

Estou usando o Delphi 7


Obragado pela atenção.


Mmoreira

Mmoreira

Curtidas 0

Respostas

Mmoreira

Mmoreira

25/11/2006

Pessoal, Estou fazendo uma dll onde eu pretendo executar o seguinte procedimento: Vou passar como paremetro para esta DLL um TRichEdit ... nesta dll eu quero pegar o texto contido no TRichEdit que eu passei no parametro e salvar em um arquivo qualquer ... Ficaria algo parecido com isso: [quote:bc961cd194] library Email; uses (..) procedure GravaArquivo( rRichEdit : TRichEdit ); Export; begin rRichEdit.Lines.Add( ´Inserir um texto qualquer na ultima linha´ ); rRichEdit.Lines.SaveToFile( ´c:\temp.txt´ ); end; Exports GravaArquivo; begin end.



E para usar a DLL eu faria assim, teria em minha aplicação um TRichEdit com algum texto qualquer:


(..) GravaArquivo( RichEdit_Informacoes ); (..)



Bom pessoal .. era mais ou menos isso que eu estou precisando fazer, alguem pode me dar um help ... estou tendo como retorno o seguinte erro:

Access violation at address 0032326c in module ´Teste.dll´. Read of address 04eb5856.

Estou usando o Delphi 7


Obragado pela atenção.[/quote:bc961cd194]


GOSTEI 0
Mmoreira

Mmoreira

25/11/2006

Pessoal acabei descobrindo que na primeira parte da minha pergunta nao havia erro algum .... agora que passei da primeira etapa ... o que eu relamente preciso fazer é o seguinte:

library Teste;

uses
  SysUtils,
  Classes,
  ComCtrls,
  JvComponent,
  JvRichEditToHtml;

{$R *.res}

procedure GravaArquivo( rRichEdit : TRichEdit ); Export;
var
  RichToHtml : TJvRichEditToHtml;
  x : TStringList;

begin

  x := TStringList.Create;

  RichToHtml := TJvRichEditToHtml.Create(nil);
  RichToHtml.ConvertToHtmlStrings( rRichEdit, x );
  FreeAndNil( RichToHtml );

  x.SaveToFile( ´html.htm´ );

  FreeAndNil(x);

end;

Exports
  GravaArquivo;

begin
end.



O que eu preciso fazer?
Quero enviar um TRichEdit como parametro e transformar seu conteudo em html ... mas o seguinte erro esta sendo retornado:

Cannot assign a TTextAttributes to a TFont



Ou seja pelo que entendi ... os atributos do TRichEdit nao estao sendo enviados ... nao estao chegando na DLL ... Será que é isto mesmo ???
Alguem sabe como resolver ???


GOSTEI 0
Mmoreira

Mmoreira

25/11/2006

Ainda estou tentando resolver este problema ... vou subir o post para ver se alguem me ajuda.


GOSTEI 0
Martins

Martins

25/11/2006

Ainda estou tentando resolver este problema ... vou subir o post para ver se alguem me ajuda.


Vou dar uma olhada com mais calma nesse tópico à noite quando estarei menos atarefado.

boa sorte!


GOSTEI 0
POSTAR