Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Name der DLL ermitteln die gerade ausgeführt wird ... (https://www.delphipraxis.net/14381-name-der-dll-ermitteln-die-gerade-ausgefuehrt-wird.html)

Schneehasi 8. Jan 2004 09:19


Name der DLL ermitteln die gerade ausgeführt wird ...
 
Moin ...

ich hab ein kleines unscheinbares Problemchen :-D

ich brauch den Namen der DLL die gerade ausgeführt wird in der DLL selbst ... (ich kann nicht sicher sein das jemand die DLL umbenannt hat)

oder ich brauche die Versionsnummer der DLL in der DLL selbst ;-)


wenn ich in der DLL mit ParamStr(0) arbeite bekomm ich ja leider nur den Namen der ausführenden EXE :-(



Danke :-)

Luckie 8. Jan 2004 09:23

Re: Name der DLL ermitteln die gerade ausgeführt wird ...
 
Schreib dir eine Funktion, die dir die Versionsnummer zurückgibt, die du als Konstante im DLL Code stehen hast. Eventuell hilft dir auch schon GetModuleFilename weiter.

sakura 8. Jan 2004 09:29

Re: Name der DLL ermitteln die gerade ausgeführt wird ...
 
Zitat:

Zitat von Luckie
Schreib dir eine Funktion, die dir die Versionsnummer zurückgibt, die du als Konstante im DLL Code stehen hast. Eventuell hilft dir auch schon GetModuleFilename weiter.

Luckie, man sieht, daß Du noch keine riesigen Projekte hattest. Das ist eine grauenvolle Variante, welche man ganz schnell wieder aufgibt :roll:

@Hasi: Schaumal Dateiname DLLDateiname DLL

...:cat:...

Schneehasi 8. Jan 2004 09:30

Re: Name der DLL ermitteln die gerade ausgeführt wird ...
 
ich hatte eigentlich folgendes vor :
Delphi-Quellcode:
function GetVersionNr(sfile: string): string;
var
  l : integer;
  h : THandle;
  p : PChar;
  F : PVSFixedFileInfo;
  FL : Cardinal;
begin
  Result := '';
  l := GetFileVersionInfoSize(PChar(sfile), h);
  if l > 0 then begin
    GetMem(p, l);
  try
    if GetFileVersionInfo(PChar(sfile), 0, l, p) and
       VerQueryValue(p, '\', Pointer(F), FL) then
      Result := Format('%d.%d%d%d',
    [HiWord(F.dwFileVersionMS),
    LoWord(F.dwFileVersionMS),
    HiWord(F.dwFileVersionLS),
    LoWord(F.dwFileVersionLS)]);
  finally
    FreeMem(P, l);
  end;
end;
end;
nur dazu brauch ich halt den Namen der DLL .. wen ich den hart angebe bekomm ich auch die Version die ich möchte ;-) nur weiss ich halt nicht ob sich der Name der DLL nicht ändert wenn sie in Echtbetrieb geht ...

sakura 8. Jan 2004 09:31

Re: Name der DLL ermitteln die gerade ausgeführt wird ...
 
Steht ja jetzt oben da, wie man soetwas findet ;-)

...:cat:...

Schneehasi 8. Jan 2004 09:38

Re: Name der DLL ermitteln die gerade ausgeführt wird ...
 
hehe da warst du wohl ein bissel schneller :-)

danke :-D







:dp:

FackFaze 10. Jan 2004 18:29

Re: Name der DLL ermitteln die gerade ausgeführt wird ...
 
@Schneehasi

Das kommt davon, wenn CSI nicht at work ist :stupid:

Muß dir am Montag wohl wieder etwas erklären. Kannst mir im übrigen helfen, einige PlugIns für unseren Messenger zu bauen. :thuimb:

Bis denno...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 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