[gelöst]Logfile CC

12. März 2012 17:19

Hallo zusammen,
mein Thema wurde bisher über einen Dialog gelöst. Hier wird ganz oben ein Fortschrittsbalken angezeigt (für die aktuell verarbeitete Tabelle Name in 1 und Fortschritt in 2) und unten drunter dann die Tabellen, die schon fertig bearbeitet wurden. Bisher waren 15 Tabellen zu bearbeiten und damit hat es geklappt:
Code:
ltxt := '#1####################################################\'\+
'@2@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\\'+
 '#3####################################################\\'+
:
 '#17####################################################';


Wie sich jeder denken kann - irgendwann ist ltxt nicht mehr groß genug um weitere Zeilen aufnehmen zu können.

Was für andere Möglichkeiten habe ich diesbezüglich mit Navision Bordmitteln? Einen externen Dialog schließe ich mal aus, genauso wie eine Textdatei zu schreiben und die dann z. B. mit tail anzuzeigen - wobei das so ziemlich genau das ist, was ich eigentlich will.

Der Code, der die Daten ändert, steckt natürlich in einer Codeunit. Mein Gedanke war nun: Ich öffne eine Form auf eine temporäre Tabelle 99000761. Die Codeunit öffnet die Form (mit Run) und übergibt dann nach und nach die Daten an die Form über eine Funktion. Die Funktion der Form schreibt die Daten in die Tabelle und mit UpdateControls wird die Anzeige aktualisiert. Funktioniert leider nicht - die Daten werden nicht angezeigt. Füge ich Daten in dem OnOpenForm der Form hinzu werden diese angezeigt - aber nur diese. Was kann ich tun?
Hier die wesentlichen Codeschnipsel:
Codeunit:
Code:
OnRun()
gfrm_dialog.RUN;

gfrm_dialog.addText(FORMAT(1),'Zeile 1');
SLEEP(3000);

gfrm_dialog.addText(FORMAT(2),'Zeile 2');
SLEEP(3000);

gfrm_dialog.addText(FORMAT(3),'Zeile 3');
SLEEP(3000);


Form:
Code:
Form - OnOpenForm()
addtext('0', 'Init');

addText(pcod_code : Code[10];ptxt_text : Text[80])
Code :=        pcod_code;
Description := ptxt_text;
INSERT;
COMMIT;
CurrForm.UPDATECONTROLS;

Angezeigt wird nur das Init, die Zeilen 1-3 kommen nicht. Geht das so überhaupt oder gibt es
Bin für jede Anregung dankbar.

WoF
Zuletzt geändert von WoF am 13. März 2012 16:01, insgesamt 2-mal geändert.

Re: Logfile CC

12. März 2012 17:43

Versuch doch mal, ltxt auf mehrere Textvariablen aufzuteilen und dann, ob es mit DeinDialog.OPEN(text1+text2+ ...) klappt.

Re: Logfile CC

12. März 2012 19:00

Mal ein ganz anderer Ansatz:

1. Warum sind deine Dialogfelder so lang, könnte man die nicht kürzen, und dadurch mehr Zeilen ermöglichen?
2. das Dialogfenster enthält nur noch drei Zeilen, die aktuelle Tabelle, ein Fortschrittsbalken für die aktuelle Tabelle und einen Balken für den Fortschritt über alle Tabellen.

Gruß, Fiddi

Re: Logfile CC

13. März 2012 16:00

Zunächst mal danke für Eure Anregungen. Das mit dem Kürzen der Dialogfelder bringt nur kurzfristig Hilfe, es ist keine dauerhafte Lösung. Das mit der Idee mehrere Textfelder zu verwenden hat den selben Makel. Ausserdem ist das Form jetzt schon sehr hoch - ich glaube ich müsste meinen Bildschirm drehen wenn da noch mehr Zeilen sichtbar werden sollen.

Ich habe mich jetzt mal wie folgt entschieden: ich stelle immer nur 15 Zeilen dar und "scrolle" die nach oben wenn das letzte erreicht/überschrieben werden soll. Dadurch gehen natürlich die Informationen von den ersten Zeilen verloren. Das gleiche ich aus, in dem ich zusätzlich ein Logfile (als .txt) rausschreibe - da stehen dann immer alle Informationen drin.

Schade daß die Idee mit der temporären Tabelle nicht funktioniert. Nicht einmal wenn ein Timer auf der Form aktiv ist.

Na, was nicht geht, das geht eben nicht.
Besten Dank.
WoF