Hallo, 

> -----Original Message-----
> From: Wolfgang Jäth [mailto:jawo.ml.hams...@arcor.de] 
> Sent: Monday, June 29, 2020 8:34 AM
> To: users-de@openoffice.apache.org
> Subject: [Basic] Laufzeitfehler "Objektvariable nicht belegt"
> 
> Hi, 
> 
> ich hab da gerade ein kleines Verständnisproblem. Eigentlich möchte
> ich (in einer Schleife) die Anweisung
> 
> | aOutput(currRow)(currCol) = Options2String (aMatrix 
> (currRow, currCol, 
> SDNumbers))
> 
> ausführen. Die einzelnen Variablen sind folgendermaßen definiert 
> (und nachweislich auch sinnvoll belegt):
> 
> | Dim aMatrix (0 To 9, 0 To 9, 0 To 5) As Integer
> | Dim currRow, currCol As Integer
> | Dim aOutput As Variant
> | Dim oSheet, oOutput As Object
> | oSheet = thisComponent.getCurrentController.getActiveSheet
> | oOutput = oSheet.getCellRangeByName (WMOutput)
> | aOutput = oOutput.getDataArray()
> 
> Das Beobachterfenster zeigt mir aMatrix als 'Integer(0 To 9, 
> 0 To 9, 0 To 5)',
> wie es sein soll, und aOutput als 'Object(0 To 9)'; etwas merkwürdig,
> weil eigentlich definiert als Variant, aber ist auch an 
> anderen Stellen so
> (und fonktioniert dort auch).

Variant gilt als Dateityp der alle anderen Typen enthält[1]. Eine als Variant 
deklarierte Variable wird den Typ annehmen der dem Inhalt entspricht der ihr 
zugewiesen wird, z.B.:

Dim x As Variant
x = "abc"
MsgBox TypeName(x) 'String
x = 1.23
MsgBox TypeName(x) 'Double

[1]
das ist eine Besonderheit und nicht selbstredend so, denn obwohl z.B. eine 
Long-Variable als erweiterte Integer-Variable verstanden werden könnte, 
"enthält" eine Long-Variable nicht _den Typ_ Integer, Schaue Dir das 
untereschiedliche Verhalten an:

Dim x As Variant
x = 123
MsgBox TypeName(x) 'Integer

Dim y As Long
y = 123
MsgBox TypeName(y) 'Long!



> Bereits beim ersten Durchgang liefert mir die obige Zeile [...]

bitte gib den vollständigen Code an, denn zumindest ich blicke nicht durch



Gruß
Jörg



---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org
For additional commands, e-mail: users-de-h...@openoffice.apache.org

Antwort per Email an