<-1>==<-1> [erledigt]

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

<-1>==<-1> [erledigt]

Beitrag von AUGE_OHR »

hi,

ich habe ein Errorlog was ich nicht "verstehe" ...
Xbase++ version : Xbase++ (R) Version 1.90.355
Operating system : Windows XP 05.01 Build 02600 Service Pack 3
Memory (RAM_AVAIL) : 1503.23 of 2096.13 MB
DiskSpace D: : 39085.63 MB
Alias() : leer
Recno() : leer
Found() : NO
NetError() : NO
Select() : 1
IndexOrd() : 0
WorkSpaceList :
-----------------------------------------------------------------

-----------------------------------------------------------------
oError:args :
-> VALTYPE: N VALUE: -1
-> VALTYPE: N VALUE: -1
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Parameter hat falschen Typ
oError:filename :
oError:genCode : 2
oError:operation : <-1>==<-1>
oError:osCode : 0
oError:severity : 2
oError:subCode : 3
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
-----------------------------------------------------------------
CALLSTACK:
-----------------------------------------------------------------
Called from YUKONBURN:SHOWCDINFO(1255)
Called from YUKONBURN:DRIVEEJECT(1134)
Called from (B)YUKONBURN:CREATE(554)
Called from XBPPUSHBUTTON:HANDLEEVENT(968)
Called from MAIN(205)
der Code dazu ist :

Code: Alles auswählen

LOCAL aMedia := { ;
{ -1 ,"Error: no device selected"},;
{  0 ,"No CD present"      },;
{  1 ,"MEDIA_CDDA_CDROM"   },;
{  2 ,"MEDIA_CD_ROM_XA"    },;
{  3 ,"MEDIA_CD_I"         },;
{  4 ,"MEDIA_CD_EXTRA"     },;
{  5 ,"MEDIA_CD_OTHER"     },;
{  6 ,"MEDIA_SPECIAL"      }}

      aType  := ::oCDBurner:queryMediaType() // 2-Dim Array

      iMax   := LEN(aType)
      i := 1
      FOR i := 1 TO iMax
         nMediaType := aType[1]
         nMediaFlag := aType[2]
         DO CASE
              CASE nMediaType == aMedia[1,1] -> Crash
... hm ... :banghead:
Zuletzt geändert von AUGE_OHR am Di, 10. Aug 2010 19:42, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9356
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: <-1>==<-1>

Beitrag von Tom »

Liefert ::oCDBurner:queryMediaType() tatsächlich ein zweidimensionales Array zurück? Es scheint mir doch eher ein eindimensionales mit zwei Zeilen zu sein. :wink:

Whatsoever: Was ist der Rückgabetyp? Möglicherweise vergleichst Du numerische Werte mit Strings, was man aber im Errorlog nicht mehr sieht.
Herzlich,
Tom
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: <-1>==<-1>

Beitrag von Rolf Ramacher »

Bei einem zweidem. Array muß es so aussehen aMedia[1][1]
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: <-1>==<-1>

Beitrag von AUGE_OHR »

Rolf Ramacher hat geschrieben:Bei einem zweidem. Array muß es so aussehen aMedia[1][1]
hm ... ist das nicht das selbe ?

Code: Alles auswählen

aMedia[1][1] == aMedia[1,1]
Tom hat geschrieben:Liefert ::oCDBurner:queryMediaType() tatsächlich ein zweidimensionales Array zurück ?
hm ...
oCDBurner:queryMediaType()
Returns the media type of the selected disc recorder.
Syntax
:queryMediaType() --> { <nMediaType>, ;
<nMediaFlag> }

Description
The method returns an array with two elements indicating media type information of the selected disc recorder:
Media type array Value Description
<nMediaType> -1 Error: no device selected
0 No CD present
1 MEDIA_CDDA_CDROM
2 MEDIA_CD_ROM_XA
3 MEDIA_CD_I
4 MEDIA_CD_EXTRA
5 MEDIA_CD_OTHER
6 MEDIA_SPECIAL
<nMediaFlag> -1 Error: no device selected
0 No CD present
1 MEDIA_BLANK
2 MEDIA_RW
4 MEDIA_WRITABLE
--------------------------------------------------------------------------------
Copyright © 2007-2008 Hannes Ziegler. All rights reserved.
http://www.knowleXbase.com
es sieht mir doch nach

Code: Alles auswählen

{ <nMediaType>, <nMediaFlag>  }
einem Array mit 2 Elementen, und nicht 2-Dim [-X , aus ... #-o

... aber irritiert bin ich schon durch
<-1>==<-1>
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: <-1>==<-1> [erledigt]

Beitrag von brandelh »

Hi,

die Irritation ist ja auch berechtigt, wo doch die Parameter beide als N bezeichnet werden ...
dennoch würde ich hier eine Zeile ? var2char(...) vorschalten, dann kannst du nach dem crash sehen,
was genau in den Vars stand. Knallt es eigentlich immer oder nur unter bestimmten Situationen ?

und ...

aArray[1,1] entspricht genau (anderen Schreibweise) aArray[1][1] ...
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: <-1>==<-1> [erledigt]

Beitrag von brandelh »

Bei dem XUG Usertreffen in Osnabrück hat uns Martin noch weitere "Gemeinheiten" mit dem Arrayoperator gezeigt ...

Angenommen ...

Code: Alles auswählen

// sowas geht mit Xbase++
aArray := { {"Dies","ist","ein","Test"},;
            {"Aus der 2. Spalte",nWert}}
? aArray         -> {{"Dies","ist","ein","Test"},{"Aus der 2. Spalte",nWert}}  // oder doch var2char(aArray) ?
? aArray[1]     ->   {"Dies","ist","ein","Test"}
? aArray[1,2]  -> "ist"
? aArray[1,2,3]  -> "t"                  // hier wird automatisch auf den 3. Buchstaben von "ist" zugegriffen ...
? aArray[1,2,3,1]  -> "t"               // hier dann auf den 1. von "t" ... wehe wenn aber kein Buchstabe mehr da ist, dann knallts.
Bei Zahlen geht es so auf die Bits ... steht auch so in der Hilfe zum Array-Operator - aber man überliest es so leicht ;-) (Beispiel 2 und 3)
Gruß
Hubert
Antworten