Hallo,
ich spiele gerade ein bisschen mit
DLL Dateien rum, spielen deshalb weil es für mich neu ist und ich damit erstmal ein bisschen zurecht koemmen muss.
also folgenden ´mein Code ist:
Delphi-Quellcode:
library Project1;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muß die
erste Unit im Uses-Anweisungsteil des Interface-Abschnitts Ihrer
Unit sein, wenn Ihre DLL Prozeduren oder Funktionen exportiert, die
String-Parameter oder Funktionsergebnisse übergeben. Dies gilt für
alle Strings die an und von Ihrer DLL übergeben werden -- selbst
für diese, die in Records oder Klassen verschachtelt sind. ShareMem
ist die Schnittstellen-Unit zur DELPHIMM.DLL, welche Sie mit Ihrer
DLL weitergeben müssen. Um die Verwendung von DELPHIMM.DLL zu
vermeiden, übergeben Sie String-Parameter unter Verwendung von
PChar- oder ShortString-Parametern. }
uses
SysUtils,
Classes,
Unit1
in '
Unit1.pas',
forms,
Dialogs,
stdctrls;
{$R *.RES}
var Fenster :TForm;
function addiere(zahl1, zahl2: integer): integer;
stdcall;
begin
result:=zahl1+zahl2;
end;
procedure klick (sender: TObject);
begin
Showmessage ('
');
end;
procedure erstellen;
var
btn :TButton;
feld : TEdit;
begin
Fenster := TForm.Create(Application);
Fenster.Width := 1000;
Fenster.Height := 1000;
Fenster.left := 0;
Fenster.top := 0;
Fenster.caption := '
test';
//Fenster.show;
Fenster.visible := true;
btn := TButton.Create (Fenster);
btn.Parent := Fenster;
Btn.Height := 125;
Btn.Width := 125;
Btn.left := 0;
btn.top := 0;
btn.visible := true;
btn.caption := '
test';
btn.show;
btn.OnClick := klick;
Feld := TEdit.Create (Fenster);
end;
exports
addiere,
klick,
erstellen;
begin
end.
wenn ich diese
DLL dann Compiliern will kommt folgender Fehler: .. Incompatible Typen : Methodenzeiger und reguläre Pocedure
wo ist jetz der Fehler wenn ich das in einer normalen
Unit machen geht das....