Hi,
Also in Wirklichkeit hab ich sowas:
Delphi-Quellcode:
TGIFHeader = packed record
Version: String[6];
Width: Word;
Height: Word;
//..
end;
PGIFHeader = ^TGIFHeader
Ich hab jetzt mal sowas probiert...
Delphi-Quellcode:
var P: Pointer;
begin
P := @FHeader;
P := PPointer(Cardinal(P) + 1)^; // Da müsste ich doch beim ersten Zeichen von Version landen oder?
SetLength(FHeader.Version,6); // Weil das allererste Byte ist ja das Byte wo die Länge drinsteht vom String
AStream.Read(P,10); // Und das darf nicht überschrieben werden.
FHeader := PGIFHeader(PPointer(Cardinal(P) - 1)^)^;
ShowMessage(FHeader.Version);
end;
Das wäre meine Logik aber da bekomm ich bei FHeader := ... haue^^
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."