Autor Beitrag
Neidhard von Reuental
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 268

XP
BDS 2006 Prof
BeitragVerfasst: Sa 02.07.05 18:28 
hi,
ich schreib gerade eine dll welches als plugin für ein anderes programm dienen soll. in der dll gibt es eine install-funktion die die dll in das plugin-verzeichniss kopieren soll.
als übergabeparameter hab ich den pluginpfad (pchar) übergeben. nun weiß ich aber nicht wie ich in der dll den pfad herausfinde in welchem die dll liegt. hat jemand rat?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 02.07.05 18:30 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var
  AppPath: array[0..MAX_PATH] of Char;
begin
  GetModuleFileName(HInstance, AppPath, length(AppPath));
GPVG
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 13.07.05 03:00 
Titel: schreibe gerade eine CPL-Datei
Eigentlich dachte ich, ich könne den mittels GetModuleFileName auch an den Dateinamen herankommen. Problematisch dabei ist das Handle. Bei einer laufenden EXE kann ich da einfach eine 0 setzen. Wenn ich das in diesem Fall mache, dann ergibt sich rundll32.exe als Dateiname.
Das Dumme an der Sache ist, daß beim Öffnen der Systemsteuerung das Applet noch kein Fenster geöffnet hat, dessen Handle man benutzen kann.
Hat jemand eine Idee?
GPVG
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 13.07.05 03:19 
Titel: Re: schreibe gerade eine CPL-Datei
Habe die Lösung schon gefunden!
Bin davon ausgegangen, daß "hinstance" das Handle sein soll, welches ich selbst ermitteln muß.

daraus ergibt sich dann:

hinstance:=meineüberflüssigeFunktion;

Dabei ist hinstance beim Aufruf der CPL bereits vergeben. Sogar mit dem Wert, den ich brauche ...