Forum: Sonstige Fragen zu Delphi
Delphi
by SirThornberry,
3. Jun 2006
ich vermute den Fehler hier:
try
Move(FData,Dat,SizeOf(FData));
Result:=False;
except
Result:=True;
end;
Dat und fData beinhalten dynamiche Arrays. Dynamische Arrays sind aber auch nur Pointer. Durch das Move lässt du die Arrays beider Records auf das gleiche zeigen. Wenn dann der erste Record frei gegeben wird würde der zweite ins nirvana zeigen (Vermutung nach...
Forum: Sonstige Fragen zu Delphi
Delphi
by SirThornberry,
3. Jun 2006
das klingt wirklich so als ob du mit deinem Code irgendwo in falschen Speicherbereichen rumfummelst. Prüf am besten mal ob du Eventuell über Arraygrenzen hinaus gehst (0 basierend nicht beachtet), einen String aus einem Stream ausliest/scheibst mit
Stream.Read(DeinString, Len);
anstelle von
Stream.Read(DeinString, Len);
(vielleicht auch vorher setlength vergessen), etc.