Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Ivar -= x

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10518
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Ivar -= x

Beitrag von AUGE_OHR » Do, 23. Okt 2014 5:37

hi,

ich wollte meine DXE_Statbar besser anpassen und habe folgenden Code

Code: Alles auswählen

      oPanel                := ::oStatusbar:addItem()
         oPanel:style       := XBPSTATUSBAR_PANEL_NUMLOCK
         oPanel:alignment   := XBPALIGN_HCENTER
         oPanel:autoSize    := XBPSTATUSBAR_AUTOSIZE_CONTENTS
         oPanel:width       -= 40
nun habe ich Probleme mit dem "-=" was kein ":=" ist und meinem Code

Code: Alles auswählen

INLINE ASSIGN METHOD _setWidth(xValue)       VAR width
LOCAL nWide    := 0
LOCAL nLen

   nLen := LEN(::aItems)
   IF nLen > 0
      nWide := ::aItems[nLen][ID_Wide]

      IF PCOUNT() > 0
         IF VALTYPE(xValue) = "N"
            IF ::aItems[nLen][ID_Spezial] = .T.
               // fix size for Spezial
            ELSE
               ::aItems[nLen][ID_Wide] := xValue
            ENDIF
            nWide := ::aItems[nLen][ID_Wide]
         ENDIF
      ENDIF
   ENDIF
RETURN nWide
es existiert also ein Rückgabe Wert was ich auch im Debugger sehe ...
oError:args :
-> VALTYPE: N VALUE: 40
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 : <>-=<40>
oError:osCode : 0
oError:severity : 2
oError:subCode : 3
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
er "kennt" das "-=" nicht, also PCOUNT() == 0 aber er müsste doch dann 0 zurück geben, oder ?
gruss by OHR
Jimmy

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13753
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Ivar -= x

Beitrag von brandelh » Do, 23. Okt 2014 9:52

Code: Alles auswählen

oPanel:width       -= 40
wird zu

Code: Alles auswählen

oPanel:width := oPanel:width - 40
falls aber oPanel NIL ist, knallt es ... was deine Klasse hier zurückgibt weiß ich nicht, aber die Fehlermeldung ...
oError:operation : <>-=<40>
sagt mir, dass er 40 und "-=" erkannt hat, aber kein Gegenwert existiert. Oben gibt er ja auch an, dass NUR 40 als Parameter vorhanden ist.
Gruß
Hubert

Antworten