bei solchen Sachen immer auf die FEHLERMELDUNG sehen:
Es handelt sich nur um EINE Variable, sonst wären hier mehr Zeilen !
Code: Alles auswählen
oError:description : Receiver of message is not an object.
Es wurde versucht eine Methode auf ein Objekt anzuwenden (normalerweise reden wir von einem Objekt, das eine Methode ausführt,
aber intern sieht es genau anders herum aus.
Um welche Zeile handelt es sich genau ?
Ich zähle oben die 4. Zeile (Leerzeilen zählen mit) und sehe das:
hier sollte NEW auf ein Klassen-OBJECT der Klasse FileTime64() angewendet werden, das Ergebnis sollte dann an oft übergeben werden !
Die Verkettung von all dem in eine LOCAL Zeile ist zwar nett anzusehen, stört aber beim debuggen.
Ich würde den Quellcode in so einem Fall aufteilen und im Debugger ansehen (oder mit ? ausgeben):
Code: Alles auswählen
local oft, oK
oK := FileTime64() // Klassenobjekt erzeugen
if oK = NIL
? "Fehler oK=NIL"
endif
oft := oK:New() // Eine Instanz (Objekt erzeugen)
if oft = NIL
? "Fehler oft = NIL"
endif
Ich tippe auf
"Fehler oK=NIL" was bedeuten würde, dass die Funktion zwar vorhanden ist ...
sonst würde eine Fehlermeldung auf interne ot4xb Funktionen erscheinen (die kenne ich von HBPrintPDF) ...
entweder fehlen Rechte oder die Parameter haben sich geändert, Win 8.1 scheint sich auf jeden Fall anders zu verhalten.
Das sollte man Pablo fragen, wenn man alle anderen Fehler ausgeschlossen hat