also, ich bekomms net hin...
Ich hab jetzt komplett ein Brett vorm Kopf
Ich bekomme der Variable "Programmversionsanzeige" nicht den Wert der Funktion "ProgrammVersion" zugewiesen...(siehe Fehler von Delphi im Kommentar des 2.Code-Blocks..)
hier mal meine funktion:
Delphi-Quellcode:
function ProgrammVersion : string;
const
InfoNum = 1;
InfoStr : array[1..InfoNum] of string = ('FileVersion');
var
S: string;
n, Len, i: DWORD;
Buf: PChar;
Value: PChar;
begin
S := Application.ExeName;
n := GetFileVersionInfoSize(PChar(S), n);
if n > 0 then
begin
Buf := AllocMem(n);
GetFileVersionInfo(PChar(S), 0, n, Buf);
for i := 1 to InfoNum do
if VerQueryValue(Buf, PChar('StringFileInfo\040704E4\' + InfoStr[i]), Pointer(Value), Len) then
result := result + Value;
FreeMem(Buf, n);
end;
end;
wenn ich dann eine Variable vom Typ "String" anlege kann ich dieser den Wert der Funktion nicht zuweisen...
Delphi-Quellcode:
procedure TmyProg.ButtonClick(Sender: TObject);
var Programmversionsanzeige: String;
begin
Programmversionsanzeige:= (ProgrammVersion); // hier erscheint Fehler: [Pascal Error] rechner.pas(1831): E2003 Undeclared identifier: 'ProgrammVersion'
ShellExecute(myProg.Handle,
'open',
'mailto:xxx.de'+'?subject=Email aus myPro generiert-- ' + 'pchar(Programmversion)' + '&body=Hallo!',
nil,
nil,
SW_SHOWNORMAL);