![]() |
Re: FreeMem und Pointer
Hallo Jan,
du solltest Non-Integer-Values nicht auf Gleichheit testen, ein epsilon-Test ist da sicherer:
Delphi-Quellcode:
Und die folgende Zeile kannst du dir bei Call-By-Value schenken:
var
epsilon: Double = 0.001; procedure TForm1.TestClick(Sender: TObject); var TestVector: PDouble; allocSize: integer; begin allocSize := 20 * SizeOf(Double); GetMem(TestVector, allocSize); SetElement(TestVector, 10, 0.1); assert(Abs(GetElement(TestVector, 10) - 0.1) < epsilon); FreeMem(TestVector, allocSize); end;
Delphi-Quellcode:
Grüße vom marabu
Dec(Vector, Index);
|
Re: FreeMem und Pointer
Zitat:
Hab grad neu Lösung gefunden (bzw. gefunden bekommen in nem anderen Forum). Wenn man statt es expliziten Wertes 0.1 eine Variable (Type Double) nimmt geht's nämlich auf einmal. 0.1 ist nämlich implizit Single. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz