Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   variant array of boolean (https://www.delphipraxis.net/213496-variant-array-boolean.html)

Rainer Wolff 8. Aug 2023 08:13

Delphi-Version: 10.4 Sydney

variant array of boolean
 
Über die Zuweisung eines arrays of boolean an eine Variant bin ich gestolpert. VarArrayCreate funktioniert, array of integer zuweisen ebenfalls, aber die letzte Zeile crasht.

Code:
procedure TForm15.FormCreate(Sender: TObject);
var
  ab: array of boolean;
  aw: array of integer;
  va: variant;
begin
  Va := VarArrayCreate([0,9], varBoolean);

  SetLength(aw,2);
  va:=aw;

  SetLength(ab,2);
  va:=ab;
end;

Uwe Raabe 8. Aug 2023 08:40

AW: variant array of boolean
 
Delphi-Quellcode:
varBoolean
arbeitet intern mit
Delphi-Quellcode:
WordBool
, daher funktioniert Boolean nicht.

himitsu 8. Aug 2023 09:42

AW: variant array of boolean
 
Und selbst wenn die Größe gepasst hätte, wäre es ebenfalls BOOL aka ByteBool gewesen, anstatt Delphi-Boolean. (auch wenn da das Problem kaum eine Auswirkung gehabt hätte)


Außerdem liefert VarArrayCreate einen Variant, in dem ein Array aus Variants liegt.
Hat Delphi dafür überhaupt eine automatische Konvertierung? (für Integer- und Byte-Arrays gibt es das zumindestens)
[edit] jupp mit WordBool geht's auch [/edit]

Kannst ja mal in der System.pas nach deinem varBoolean suchen. ("System" schreiben und Strg+Enter)
siehe "Variant type codes" und vorallem ins TVarData


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 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