Bonsoir,
A la suite du problème que j'avais ici : http://www.delphifr.com/infomsg_PLACER-DONNEES-TFILESTREAM-DANS-TMEMORYSTREAM_1178462.aspx
J'ai un autre soucis.
Dans ma DLL (même fonction que celle donné dans mon lien, je vais la redonner ici), je passe un objet à une des fonctions.
Le soucis étant que le texte ne se retrouve dans mon TRichEdit comme demandé, aucune erreur n'est renvoyé.
Toutefois après avoir fait des tests sur un projet de test, cela fonctionne bien quand il y a pas de DLL au milieu qui fait ce changement.
Y-a-t-il donc un moyen de faire ?
J'explique, en fait ma fonction va lire une information sur la taille des prochaines données, puis il va lire les données en question.
Il doit ensuite placé les données récupérer du fichier dans le TRichEdit.
J'avais donc pensé au TFileStream pour lire le fichier, TMemoryStream pour mettre les données en mémoire afin de les mettre dans mon TRichEdit avec LoadFromStream.
Voici le code de la fonction :
procedure TFormatFEF.LoadFromFile(var RichEdit: TRichEdit);
var
Size: Integer;
MemoryStream: TMemoryStream;
begin
MemoryStream := TMemoryStream.Create;
if (ReadFile = False) then
begin
MessageDlg('Vous ne pouvez pas appeler une fonction de lecture en demandant'+
' une écriture du projet', mtError, [mbok], 0);
Exit;
end;
FileStream.ReadBuffer(Size, 4); //Lit la taille
MemoryStream.CopyFrom(FileStream, Size); //Copie les données dans le TMemoryStream
RichEdit.Lines.LoadFromStream(MemoryStream); //Inscrit dans le RichEdit
MemoryStream.Free;
end;
Merci d'avance à ceux qui pourront m'aider.