[gelöst] - Sie können die C/AL-Variablen vom Typ 'FORM'

30. September 2009 21:09

Hallo,

ich habe aktuell folgendes Problem unter 2009 CC (kein SP1).
Ich starten einen NAS und lasse eine Dispatcher.Codeunit ausführen.

Diese beinhaltet lediglich die folgenden Zeilen:

Code:
OnRun()
IF ISCLEAR (NavisionTimer) THEN
  CREATE(NavisionTimer);

NavisionTimer.Enabled := FALSE;
NavisionTimer.Interval := 10000;
NavisionTimer.Enabled := TRUE;

NavisionTimer::Timer(Milliseconds : Integer)
MESSAGE('Guten Tag');


Sobald die Codeunit nun in den Eventrigger des Timers kommt erscheint folgende Fehlermeldung im EventLog:
Sie können die C/AL-Variablen vom Typ 'FORM' nicht verwenden, wenn Application Server für Microsoft Dynamics NAV Classic ausgeführt wird.

Der NavisionTimer bezieht sich auf die Automation Navision.Timer.

Hab ich irgendwo einen Denkfehler oder was übersehen?!

Vielen Dank.
Zuletzt geändert von any1 am 30. September 2009 21:39, insgesamt 1-mal geändert.

Re: Sie können die C/AL-Variablen vom Typ 'FORM' nicht verwenden

30. September 2009 21:36

Ich würde das MESSAGE als "Übelträter" benennen.
Ein NAS darf nicht mit Dialogen / Forms arbeiten.

Re: Sie können die C/AL-Variablen vom Typ 'FORM' nicht verwenden

30. September 2009 21:38

Mit der Message kann man einen NAS prima debuggen.
Die Ausgaben (Message oder auch Error) werden in das Windows-Anwenderlogbuch geschrieben.

Habe den Fehler aber gefunden:

In der CU1 im Trigger "CompanyOpen" war ein Formaufruf.

Thema ist also gelöst.

Trotzdem danke für Deine Mühe.

Mfg

Re: Sie können die C/AL-Variablen vom Typ 'FORM' nicht verwenden

30. September 2009 21:41

mikka hat geschrieben:Ich würde das MESSAGE als "Übelträter" benennen.
Ein NAS darf nicht mit Dialogen / Forms arbeiten.

MESSAGE ist kein Dialog und kann im NAS verwendet werden. Der Text landet dann im Anwendungsprotokoll und führt zu keinem Fehler.

Mein Tipp ist, dass du (oder der Standard?) in der besagten Codeunit eine lokale oder globale Form-Variable verwendest.
Der Quelltextteil, den du veröffentlicht hast, ist definitiv harmlos.
Dass der Debugger dabei auf eine harmlose Stelle zeigt, ist man ja als NAV-Programmierer längst gewöhnt ... :roll:

EDIT: Mist, zu spät :mrgreen: