Hallo,
ich habe mit die Trial von Delphi 2009 heruntergeladen und versuche gerade meine Grafikbibliothek damit zum laufen zu kriegen. Das funktioniert soweit auch schon ganz gut. Ein Problem habe ich jedoch noch mit der Acinerella-Videoschnittstelle.
Ich habe folgende Typedeklaration:
Delphi-Quellcode:
{$MINENUMSIZE 1}
{$ALIGN 8}
// Addr Offs. TurboDelphi 2006 | Delphi 2009
TAc_stream_info = record // 0 | 0
stream_type: TAc_stream_type; // 0 | 0
case additional_info: byte of // 4 | 8
0: (video_info: TAc_video_stream_info); // 8 | 16
1: (audio_info: TAc_audio_stream_info); // 8 | 16
end;
Wie man sieht sind die Speicheradressen bei Delphi 2009 verschoben: Die Dummy-Variable "additional_info" wird bei TurboDelphi einfach zu Offset "4" verschoben, bei Delphi 2009 wird sie als eigenes Feld behandelt und bekommt Adresse "8". Die darauffolgenden Felder werden entsprechend weiter verschoben.
Hat jemand eine Idee wie ich dieses Problem beheben könnte? Ist das so gewollt? Oder ist es ein Bug im neuen Delphi?
Danke für eure Antworten,
Andreas