AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

variantes Array aus Longs?

Offene Frage von "thomasch"
Ein Thema von thomasch · begonnen am 29. Jun 2005 · letzter Beitrag vom 1. Jul 2005
Antwort Antwort
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#1

Re: variantes Array aus Longs?

  Alt 1. Jul 2005, 08:52
Hallo thomasch,

ich habe den bug in deinem thread gepostet, weil ich dachte, dass es dich betrifft. Wenn du die Prüfung rausgenommen hast, dann wird das gewünschte array mit dem Basistyp varInt64 auch erzeugt. Ich musste allerdings mehrere functions extrahieren, da sie zum Teil nicht im interface deklariert sind. Damit nicht jede Sicherheit flöten geht habe ich nur die Prüfung auf ValidBase abgewandelt:

Delphi-Quellcode:
function VarTypeIsValidArrayType(const AVarType: TVarType): Boolean;
begin
  Result := (AVarType in [CMinArrayVarType..CMaxArrayVarType]) and
            (CVarTypeToElementInfo[AVarType].ValidBase or (AVarType = varInt64));
end;
Den Erfolg kannst du sehr leicht prüfen:

Delphi-Quellcode:
uses
  MyVariants;
var
  va: Variant;
  i64: Int64;
begin
  va := VarArrayCreate([0, 0], varInt64);
  va[0] := 1234567890123456789;
  i64 := va[0];
  WriteLn(i64);
end;
Ob das alles aber wirklich dein Problem ist? Nirgendwo in deinem thread kann ich einen direkten Nachweis lesen, dass ACAD diesen Basistyp unter Long versteht.

marabu

PS: Deine Referenzen auf das Handbuch riechen stark nach VB. Dazu ein bischen was aus der VB.Net Doku:

Zitat:
Caution If you are interfacing with components written in Visual Basic version 6.0, for example Automation or COM objects, keep in mind that Long has a different data width (32 bits) in Visual Basic 6.0. If you are passing a 32-bit argument to such a component, declare it as Integer instead of Long in Visual Basic .NET.

Furthermore, Automation does not support 64-bit integers on certain platforms, including Windows 2000 and Windows 98. You cannot pass a Visual Basic .NET Long argument to an Automation component on such platforms.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 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