Seite 1 von 1

Fehlermeldung im WAA

Verfasst: Do, 27. Jul 2017 11:12
von Jan
Hallo,

ich habe folgenden Code:

Code: Alles auswählen

FUNCTION handleWeiter(oHtml, oContext)
...
oThread := Thread():new()
oThread:setInterval(100)
oThread:start("typ", oHtml, cMessweise, oThread)     <-- Zeile 134
...
FUNCTION typ(oHtml, cMessweise, oThread)
Und das gibt diese Fehlermeldung:
WAA-Fehler.jpg
WAA-Fehler.jpg (8.46 KiB) 4212 mal betrachtet
Versteh ich nicht. :start() gibt es natürlich definitiv. Aber auch die FUNCTION typ, die dort aufgerufen wird, gibt es selbstverständlich.

Das ist 1.9.331!

Jan

Re: Fehlermeldung im WAA

Verfasst: Do, 27. Jul 2017 11:51
von Tom
Mmh. Die Funktion ist aber im Originalcode nicht zufällig STATIC, oder?

Hast Du's mal mit einem Codeblock versucht?

Code: Alles auswählen

oThread:start({||typ(oHtml, cMessweise, oThread)})

Re: Fehlermeldung im WAA

Verfasst: Do, 27. Jul 2017 12:45
von Jan
Tom,

nein, kein STATIC FUNCTION.

Und Codeblock geht garnicht. Da bekomme ich einen 500er-Fehler vom Server.

Jan

Re: Fehlermeldung im WAA

Verfasst: Do, 27. Jul 2017 13:23
von brandelh
Irgendwas war mit Funktionen in DLL die nicht benutzt wurden, sondern nur in Macros stehen ... ich weiß aber nicht mehr die genauen Umstände. Nur dass der LINKER keine Verweise gesetzt hat.
In diesen Fällen musste man die Funktion in einer Zeile einbauen, die nicht stört:

Code: Alles auswählen

if .f.
   // Liste aller Funktionen 
   x := alltrim("abc")
endif

Re: Fehlermeldung im WAA

Verfasst: Mo, 15. Apr 2024 16:55
von Armin
Hallo Jan,

vor den Funktionsnamen muss der Name der DLL.

z.B. bei MEINEDLL.DLL:

oThread:start("MEINEDLLtyp", oHtml, cMessweise, oThread)

ABER es scheint Probleme mit oHtml in dem Thread zu geben.
z.B. oHtml:getAllVars() führt zu einem fatalen Fehler

Grüße
Armin

Re: Fehlermeldung im WAA

Verfasst: Mo, 15. Apr 2024 21:30
von brandelh
es war einmal 2017 als die Frage gestellt wurde ^^

Re: Fehlermeldung im WAA

Verfasst: Di, 16. Apr 2024 15:53
von Armin
Für alle die das trotzdem interessiert:

Ich habe die Funktion jetzt nicht als eigenen Thread gestartet sondern über Javascript asynchron aufgerufen.

Code: Alles auswählen

  
            cJavaScript:= '<script>if (ajaxjn()) {ajax("'+cAdresse+'", false);} '
            cJavaScript+= "</script>"
            oHTML:put(cJavascript)