if 0==0 -> Fehlermeldung

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: if 0==0 -> Fehlermeldung

Beitrag von Werner_Bayern »

Martin Altmann hat geschrieben:Yup - 1.90.355
21.06.2010? Version war m. W. n. bei beiden gleich.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: if 0==0 -> Fehlermeldung

Beitrag von Martin Altmann »

Hmm - da gab es keinen solchen Fix!
Laut Alaska:
#34 - vom 17.03.2010
#36 - vom 11.07.2010

Meine ist vom 25.02.2010 - #26
Also nicht die Neueste. Die aktuellste ist übrigens 4 Tage alt und fixt Probleme bei Windows 8.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: if 0==0 -> Fehlermeldung

Beitrag von Werner_Bayern »

PDR 6130, sorry, Hotfix 36 wars. Deine ist definitiv zu alt!!! Das ist wohl das Problem mit dem 0 == 0!
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: if 0==0 -> Fehlermeldung

Beitrag von AUGE_OHR »

Martin Altmann hat geschrieben:gerade eben versucht - und da bekomme ich eine passende Fehlermeldung - das ist es also nicht:
hm ... es ist aber nicht die 0==0 Meldung wie in PDR 6401 beschrieben welche bei unterschiedlichen Typen zur der Meldung führt.
Xbase++ Version : Xbase++ (R) Version 1.90.355
Betriebssystem : Windows XP 05.01 Build 02600 Service Pack 3
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: N VALUE: 332
-> VALTYPE: N VALUE: 332
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 : <332>=<332>
oError:osCode : 0
oError:severity : 2
oError:subCode : 3
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
das ist so eine ähnliche Meldung ... hat hier mit DLL Call zu tun.


Da du die Lösung des Phantom-Record im Array gelöst hast :

Frage : könnstes du dazu ein kleines Demo in die Wissensbasis stellen wenn möglich ?
gruss by OHR
Jimmy
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: if 0==0 -> Fehlermeldung

Beitrag von Martin Altmann »

Moin JImmy,
AUGE_OHR hat geschrieben:Frage : könnstes du dazu ein kleines Demo in die Wissensbasis stellen wenn möglich ?
wozu? Das Problem liegt in XClass++ verborgen. Dort steckt der eigentliche Fehler, der in der Folge zu einer falschen Fehlermeldung führt!
Das ganze mal etwas ausführlicher:
Ich nutze dsXBrowse - nicht mit einer dbf, sondern mit einem Array verbunden. Beim dsXBrowse gibt es die Möglichkeit, Tooltips für einzelne Zellen anzeigen zu lassen - natürlich auch in Abhängigkeit von deren Inhalt. Dies nutze ich an der Stelle, um in der Spalte platzsparend den dreistelligen Code (z.B. 100) auszugeben, im Tooltip aber den entsprechenden Klartext (z.B. Deutscher Schäferhund stockhaar):

Code: Alles auswählen

aCol[3]:Tooltip({|oB,oC| ::ShowCode(oB, oC)})
Die Parameter sind:
  • Das dsXBrowse-Objekt
  • Ein Array mit der Zeilen/Spaltenkoordinate der betreffenden Zelle, über der die Maus gerade steht
  • (darüber hinaus gibt es noch zwei weitere, die ich hier nicht nutze: den Inhalt der Zelle und die Datensatznummer)
Die Methode, die dabei dann aufgerufen wird:

Code: Alles auswählen

Method _PRAESENTIEREN:showCode(oBrowse, oCell)
LOCAL nVal, nI, cText
	
	nVal := oBrowse:getValue(oCell[1],oCell[2])
	if nVal == 0
		cText := ""
	else
		nI := ascan( hcode, nVal )
		if nI == 0
			cText := "ungültige Codierung!"
		else
			cText := alltrim( hvar[ nI ] ) + iif( hnatras[ nI ], " (nat. Rasse)", "" )
		endif
	endif
RETURN cText
Wenn nun ein leeres Array mit dem dsXBrowse verknüpft wird, legt XClass++ automatisch ein Phantomarrayelement an, damit die Spaltenheader angezeigt werden - dabei wird für den Phantomsatz einfach für numerische "Felder" eine 0 und für Zeichen"felder" Leerzeichen hinterlegt - damit knallt die Funktion an der Stelle, wie von mir beschrieben.
Manchmal wurden auch statt 0 und Leerzeichen entsprechend 9 (so viele, wie das Feld lang sein darf) bzw. X (ebenfalls so viele, wie das Feld Zeichen hat) angezeigt - aber nur sehr selten. War also eh' nicht sehr verlässlich!
Sobald ich im Falle eines leeren Arrays selber einen Eintrag (mit 0 bzw. Leerzeichen) eingefügt hatte, klappte es.
Vielleicht hätte es auch geklappt, wenn ich den dritten Parameter des Codeblocks mit übergeben und ausgewertet hätte, statt mit oBrowse:getValue(oCell[1],oCell[2]) selber den Inhalt der entsprechenden Zelle zu ermitteln.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Antworten