AGB  ·  Datenschutz  ·  Impressum  







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

Version eigener DLL abfragen

Ein Thema von oki · begonnen am 29. Aug 2007 · letzter Beitrag vom 29. Aug 2007
Antwort Antwort
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

Version eigener DLL abfragen

  Alt 29. Aug 2007, 06:35
Hi Leute,

meine eigene DLL soll die Function GetVersion exportieren. Das war in der Form:
Delphi-Quellcode:
function GetVersion : PChar;
begin
  Result := 'Version 1.0';
end;
in zwei Sekunden getan.

Nun ist das natürlich etwas primitiv. In meinen Programmen nutze ich eigentlich den Ansatz der hier im Forum vorgestellt wurde (ich glaube in der Code Lib) mit der Function
GetFileVersionInfo(PChar(p_sFilepath),0,dwVersionS ize,pVerBuf)

Dazu muß der Dateiname mit Pfad in p_sFilepath übergeben werden. In den üblichen Programmen sicher kein Thema, liefert doch Application.ExeName alles notwendige.

Dachte ich mir halt, machst es schnell mal ordentlich mit der Versionsnummer in deiner DLL.

Upps, wie bekommen ich denn jetzt den Namen mit Pfad heraus? Tja, simples Thema (sollte man denken) und null Plan.
Kann mir da jemand auf die Sprünge helfen?

Dank und Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Version eigener DLL abfragen

  Alt 29. Aug 2007, 07:44
vielleicht solltest du integer werte übergeben:
(1) einen für die major version
(2) einen für die minor version

tutorials für dlls gibt es ein paar.
ein gutes findest du unter http://dsdt.info/tutorials/dlls/
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Version eigener DLL abfragen

  Alt 29. Aug 2007, 07:54
Such mal OH-technisch (WIN32 API) nach 'GetModuleFileName'. Das sollte funktionieren. Als Handle übergibst Du das Handle der DLL.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Version eigener DLL abfragen

  Alt 29. Aug 2007, 07:56
Hi M. Hassmann,

dein Hinweis ist nachvollziehbar. Mein Problem ist aber, wie innerhalb meiner DLL deren Versionsnummer ermittel um diese in der Export-Funktion nicht wie in meinem kleinen Beispiel hardcoden zu müssen.

Gruß oki

Roter Kaste!!!

Hi alzaimar,

mach ich!

Auch Grüße an Dich
42
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Version eigener DLL abfragen

  Alt 29. Aug 2007, 07:59
Hallo,

Delphi-Quellcode:
procedure TForm_X.SetVersionInfo;
var
  szFileName : array[0..255] of Char;
  sFileName : String;
  sBuild : String;
begin
  if GetModuleFileName(HInstance, szFileName, SizeOf(szFileName))>0 then
  begin
    sFileName:= StrPas(szFileName);
    sBuild:= GetVersionString(sFileName);
    if sBuild<>'then
    begin
      Caption:= Caption+' '+sBuild;
    end;
  end;
end; { SetVersionInfo }
GetVersionString lädt bei mir einen speziellen Versions-Eintrag (Build),
aber der Code zum Versionsauslesen ist über die Suche hier einfach zu finden.


Heiko
Heiko
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Version eigener DLL abfragen

  Alt 29. Aug 2007, 08:11
Hi hoika,

Danke für den Beispiencode. Ich habe unter "Versionsinfo DLL" gesucht und nichts gesehen. Vielleicht war es gestern abend auch schon zu spät.

Der Code für GetVersionString war mir bekannt. Es klemmte nur an GetModulfileName.

Dank und Gruß oki
42
  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 22:36 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