AGB  ·  Datenschutz  ·  Impressum  







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

Vergleich tritt nie ein

Ein Thema von EWeiss · begonnen am 24. Okt 2010 · letzter Beitrag vom 24. Okt 2010
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Vergleich tritt nie ein

  Alt 24. Okt 2010, 14:14
Etwas unverständlich für mich.
VB.
Code:
If ((varType(args(i)) And vbArray) = vbArray) Then
DELPHI
if ((VarType(args[i]) And varArray) = varArray) then varArray = vbArray beides der gleiche vergleichswert.
varType in Delphi = 8
varType in VB = 8204

wie soll ich jetzt jemals den vergleich auf true schalten
gibt es eine alternative?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Vergleich tritt nie ein

  Alt 24. Okt 2010, 14:22
Zitat:
varType in Delphi = 8
varType in VB = 8204
Es gibt bei den Variants standardtypen, welche von Microsoft definiert wurden
und es gibt eigene Typen, welche es z.B. "nur" in Delphi oder VB gibt.

8204 ist jedenfalls keiner der Standardtypen, also wird es ein VB-spezifischer Typ sein, welchen es in Delphi nicht gibt.

Lösungen:
- in VB auf einen anderen Typ umsteigen, welchen Delphi auch kennt
- oder diesen Typen in Delphi selber implementieren
$2B or not $2B
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Vergleich tritt nie ein

  Alt 24. Okt 2010, 14:28
Zitat:
varType in Delphi = 8
varType in VB = 8204
Es gibt bei den Variants standardtypen, welche von Microsoft definiert wurden
und es gibt eigene Typen, welche es z.B. "nur" in Delphi oder VB gibt.

8204 ist jedenfalls keiner der Standardtypen, also wird es ein VB-spezifischer Typ sein, welchen es in Delphi nicht gibt.

Lösungen:
- in VB auf einen anderen Typ umsteigen, welchen Delphi auch kennt
- oder diesen Typen in Delphi selber implementieren
Danke dir
Ich könnte den Typ gleichsetzen
if (((VarType(args[i])+ 8196) And varArray) = varArray) then Die frage nur wie sinnvoll ist das ?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Vergleich tritt nie ein

  Alt 24. Okt 2010, 14:40
Ahhh, ich seh grad ... die oberen Bits hatten ja eine besondere Bedeutung,

varTypeMask = $0FFF;
varArray = $2000;
varByRef = $4000;

$0008 = varOleStr
$000C = varVariant
$2000 (8192) = varArray


Also $0008 entspricht einem OleString (PWideChar)
Und eine $2008 (8200) entspricht einem Array voller OleString.

Dein $200C (8204) entpricht einem Array voller weiterer Variant (deren Inhalt man wiederum in diesen nachsehn müßte).


Du kannst sowas nicht einfach gleichsetzen, da der Variant ja je nach VariantTyp einen anderen Inhalt/Aufbau besitzt.

Die $0008 (8) und $200C (8204) entsprechen komplett unterschiedlichen Datenformaten, so daß man da nichtmal ansatzweise etwas gleichbehandeln kann.
$2B or not $2B

Geändert von himitsu (24. Okt 2010 um 14:45 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Vergleich tritt nie ein

  Alt 24. Okt 2010, 14:52
@himitsu
Sorry das ist etwas zu hoch für mich
Was würde das für mich bedeuten bzw .. was muss ich ändern
um den vergleich auflösen zu können?

Oder geht es grundsätzlich nicht.

Ich müßte also meine String in einen OleString umwandeln?

gruss

Geändert von EWeiss (24. Okt 2010 um 14:54 Uhr)
  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 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz