Siehe Anhang
Delphi-Quellcode:
// DLL-Code
function GetRichEditSetEdit(Rich:TRichEdit; Edit:TEdit):Boolean;
var
s :
String;
begin
s := Edit.Text;
Rich.SelAttributes.Color := clred;
Rich.SelAttributes.
Name := '
Courier New';
Rich.SelAttributes.Size := 10;
Rich.SelAttributes.Style := [fsBold];
Rich.Lines.Add(S);
Rich.Lines.Text := s;
end;
Delphi-Quellcode:
// EXE-Code
function GetRichEditSetEdit(Rich:TRichEdit; Edit:TEdit):Boolean;
external '
Dingens.dll';
// TEdit == Pointer
// TRichEdit == Pointer
// Beide sind schließlich nur Instanzenpointer ... also kann man sie übergeben.
// Die aufgerufene Funktion muß nur über das Objekt bescheidwissen. Also immer
// DLL und EXE mit gleicher Delphi-Version kompilieren!!!
procedure TForm1.Button2Click(Sender: TObject);
begin
GetRichEditSetEdit(RichEdit1, Edit1);
end;
Aber dieses Problem ist um einiges einfacher zu lösen als o.g. - oder???
Theoretisch kann man die Objektinstanzen auch typecasten - dazu verwendest du den AS-Operator