Hey, danke für das Tutorial. Genau das habe ich gesucht.
Ich habe das jetzt überarbeitet und es funktioniert schon ganz gut, nur dass ich ne
Exception beim Programmende bekomme (EInvalidPointer). Jetzt stellt sich die Frage, woher kommt dieser Fehler und noch besser, wie bekommt man ihn weg?
Hier mal nen Auszu auf meinen Quelltexten:
Delphi-Quellcode:
library DirListor;
uses ShareMem,
Windows,
ComServ,
untMain in 'untMain.pas',
DirlistorDlg in 'DirlistorDlg.pas' {Form_Dirlistor};
{$R DIRLISTOR.res}
procedure StartDirListor(APath : string);
var Dialog : TForm_DirListor;
begin
try
Dialog := TForm_DirListor.Create(nil);
Dialog.FileName := APath;
Dialog.ShowModal;
finally
Dialog.Free;
end; // of try
end;
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer,
StartDirListor;
begin
end.
und jetzt mein Hauptprogramm, was den Fehler am Ende bringt:
Delphi-Quellcode:
unit AnbindungsDlg;
interface
uses
ShareMem, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DirListorDlg;
procedure StartDirListor(APath :
string);
type
TForm_Anbindung =
class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
Form_Anbindung: TForm_Anbindung;
implementation
{$R *.DFM}
procedure StartDirListor(APath :
string);
external '
DirListor.dll';
procedure TForm_Anbindung.Button1Click(Sender: TObject);
begin
StartDirListor('
C:\Windows\');
end;
procedure TForm_Anbindung.Button2Click(Sender: TObject);
begin
Self.Close;
end;
end.