Einzelnen Beitrag anzeigen

jag_the_rapper

Registriert seit: 10. Okt 2006
Ort: Erfurt
8 Beiträge
 
#3

Re: Wie spricht man ShellExtentions an

  Alt 13. Okt 2006, 18:27
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.
  Mit Zitat antworten Zitat