AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie spricht man ShellExtentions an

Ein Thema von jag_the_rapper · begonnen am 13. Okt 2006 · letzter Beitrag vom 13. Okt 2006
Antwort Antwort
jag_the_rapper

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

Wie spricht man ShellExtentions an

  Alt 13. Okt 2006, 14:01
Ich habe in den Delphi-Demos (Delphi5) ein Beispiel gefunden, wie man eine DLL erzeugt, die sich in die Windowskontextmenüs einhängt. Wenn ich jezt auf ein Verzeichnis rechts klicke, erscheint mein PRogramm (die DLL) mit im Kontextmenü und lässt sich auch öffnen. Die DLL listet mir alle Dateien aus dem Verzeichnis auf. Soweit so gut. Jetzt möchte ich eine Anbindung an diese DLL schreiben. Also ich habe ein eigenen kleinen Dateibrowser geschrieben und ich möchte, dass man da auch diese DLL ansprechen kann. Ich mein, ein Popupmenü mit der DirectoryListBox zu verbinden, ist kein Ackt, aber wie rufe ich jetzt die DLL auf und wie übergebe ich ihr den Verzeichnispfad?

Das Demo ist zu finden unter <DELPHIPROGRAMMDIR>\Demos\ActivX\shellext\contmenu .dpr

Ich muss auch dazu sagen, dass ich kaum bis keine Kenntnisse über ActivX und COM-Objecten habe. Wenn jemand ein gut verstänndliches Tutorial kennt, wäre ich ihm sehr verbunden, wenn er die URL posten könnte.
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Wie spricht man ShellExtentions an

  Alt 13. Okt 2006, 16:21
Zwar hab ich nicht ganz kapiert, was dein Problem ist, aber ich schätze
dieser Link zu den Schweitzern könnte dir weiter helfen.
  Mit Zitat antworten Zitat
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz