Hallo Leute,
ich hatte ein altes Programm von mir noch etwas verbessert.
War hier lange Thema. Das läuft jetzt alles gut aber noch mit Delphi 2005 auf einem alten Notebook compiliert.
(Kann ich sehr schlecht sehen)
Deshalb will ich es auf das neue Delphi portieren (PC mit großem Display) und da prasseln die Fehlermeldungen. Einige habe ich lösen können, das hier nicht. PropertyTagDateTime liefert laut Microsoft-Doku Rückgabe: PropertTagTypeASCII, Count 20. Aber wie das gespeichert ist, wird nicht verraten. Damals habe ich Folgendes gefunden:
Delphi-Quellcode:
function TGDIExifRead.ExifDateToDateTime(s: string):TDateTime;
type
TConvert = packed record // Idee von Gerry McGuire
year: array [1..4] of char; f1:char;
mon: array [1..2] of Char; f2:char;
day: array [1..2] of Char; f3:char;
hr: array [1..2] of Char; f4:char;
min: array [1..2] of Char; f5:char;
sec: array [1..2] of Char;
end;
PConvert = ^TConvert;
begin
s:=Trim(s);
if s = '' then
Result:=-1 //kein Datum vorhanden!
else
try
with PConvert( @s[1] )^ do
Result:=EncodeDate( StrToInt( year ),
StrToInt( mon ),
StrToInt( day ))
+ EncodeTime( StrToInt( hr ),
StrToInt( min ),
StrToInt( sec ), 0);
except
Result:=0; //ungültiges Datum
end;
end;
Hat 12 Jahre funktioniert jetzt bei Delphi Berlin crashed es bei with PConvert()^ Ich benutze GDPAPI, GDPOBJECT und GDPUTIL.
Willie.