Martin Altmann hat geschrieben:Hallo Markus,
Markus Walter hat geschrieben:z. Zt. "streiten" wir uns noch darüber, ob man einen Fehler, der schon immer da ist, beseitigen muss oder nicht...
das ist jetzt aber doch nicht ernst gemeint, oder
Zumindest nicht in der Formulierung
:shock:
Ich kann mir beim besten Willen nicht vorstellen, dass Alaska akzeptiert, dass das (Nicht-)Verhalten ein Fehler ist, diesen aber nicht behebt, weil er schon immer da ist!!
Ich könnte mir höchstens vorstellen, dass Alaska sagt, es handelt sich dabei in ihren Augen um keinen Fehler, da das Verhalten so schon immer war (also "by design"!).
Ist das die eigentliche Aussage hinter Deiner Zusammenfassung
Viele Grüße,
Martin
Ich weiß ja nicht, ob man etwas, was man in einer Mail geschrieben bekommt einfach so veröffentlichen darf/kann/soll. Aber bitte:
Bitte deklariere eine LOCAL Variable oXbp. Dann funktioniert das Auslesen
der noIVar. Warum es ohne die Deklaration schief geht wissen wir inzwischen
auch, werden hier haber für die 1.90 keinen Fix anbringen weil es ein altes
Problem und schon immer im Produkt war.
Wobei es auch mit der Deklaration der Local nicht getan ist, dann funktioniert es immer noch nicht...
Hintergrund ist, dass man keine NoIvars (also Ivars, die in einer Klasse nicht existieren und über die Funktionen setNoIvar/getNoIvar behandelt werden) nicht per Referenz an einen Codeblock übergeben kann. Im besten Fall (wenn man eine oXbp local deklariert) geht es nur mit der letzten noIvar, die in der Funktion verwendet wird. Wenn man keine oXbp local deklariert hat (überigens eine Variable, die NICHT benutzt wird), kommt mal ein xppfatal, mal eine "Interne Datenstrukturen beschädigt".
Ich habe eine DB-Klasse geschrieben, in der ich die Felder der DBF über diesen Mechanismus setNoIvar/getNoIvar verwalte. Wenn ich aber jetzt z. B. mit Express++ arbeite, wird ein Codeblock für DataLink benutzt und genau das geht nicht mit den NoIvars. Es geht mit normalen Variablen und mit Ivars einer Klasse, aber nicht mit NoIvars.
Somit kann ich meine gesamte DB-Klasse in die Tonne werfen...