Programmpause in VB / Windowsfenster im Vordergrund
Michael Böhme
Guten Tag Coresuite-Gemeinde......Bei der Erstellung von SAP - Vorgängen (Angebot, Aufträge, usw..) haben wir ein VB - Fenster programmiert, welches bei wichtigen Informationen ,die hinterlegt sind, angezeigt wird. Via:
MsgBox(MYVBVAR, vbOkOnly + vbExclamation, ueberschrift)
MYVBVAR ist der Text im Fenster.
Da dieses Fenster bei der Feldänderung der Kundennummer aktiviert wird erscheint es manchmal im Hintergrund und die Maus ist auch weg. Ich vermute weil SAP im Hintergrund noch weitere Felder füllt und somit dem Focus beinträchtigt. Bei dem MsgBox-befehl habe ich schon alle Parameter für die Darstellung durch.
Die Idee ist nun vor dem Fenster 1 - 2 sec pause zu machen um SAP die Möglichkeit zu geben zu ende zu arbeiten und dann erst das Fenster einzublenden. Dieser Pause-Befehl fehlt mir.
Oder hat jemand eine ganz andere Idee ?
Vielen Dank schon einmal für Eure Mühe.....
Michael
Michael Egloff
Hallo Michael,benutze doch die SAP Message Box.
MessageBox.Show(deinText, "OK")
Michael Böhme
Guten Morgen Herr Egloff,vielen Dank für die Antwort. Das Fenster ist jetzt im Vordergrund aber einen Haken gibt es noch.
Es werden keine Zeilenvorschübe dargestellt. Hier erscheint das typische Viereck.
Haben Sie hier auch eine Lösung ?
Weiterhin ist mir aufgefallen das die eigentlichen Probleme darin bestehen, das durch das Einblenden des Fensters der SAP-Ablauf (Füllen der anderen Felder nach Kundennummeränderung in einem Formular z.B.) komplett unterbrochen wird. Kann man das übergehen?
Aber mit der Lösung zur Zeilenumbruchdarstelleng wäre mir schon sehr geholfen.
Vielen Dank
Michael
Manuel Marhold
Hi Michael,vbcrlf (entspricht CHAR(13) + CHAR(10)) müsste gehen..
Michael Böhme
Hallo Manuel,erst einmal vielen Dank für Deine Hilfe. Die Codetabellen sind mir ein Begriff. Aber laut Deiner Idee müste ich vbcrlf als 'Befehl' in den Nutztext einbinden?! Oder wie stellst Du Dir das vor?
PS: Der Fenstertext wird aus den Bemerkungen der Kundenstammdatensätze ausgelesen und somit von den Sachbearbeitern gepflegt.
Micha
Manuel Marhold
Hi Michael,ich glaube SAP speichert Zeilenumbrüche als CHAR(10) ab, also müsstest du CHAR(10) (oder auch vblf) durch vbcrlf ersetzen..
dann solltest du vorher aber vbcrlf durch vblf ersetzen, nicht, dass da nachher CHAR(13) + CHAR(13) + CHAR(10) bei rumkommt..
Michael Böhme
Ist es wirklich notwendig einen kompletten Feldinhalt auseinander zu pflücken und Teile zu ersetzen damit das SAP-Fenster Zeilenumbrüche darstellt ???Selbst unsere 'Freunde' von Windows können das !
Gibt es keine Festerroutine die einfach nur den Text, natürlich mit Zeilenumbrüchen darstellt der da drin steht ?
Noch ne Idee ?
Nochmal vielen Dank für Deine Hilfe
Manuel Marhold
Hi Michael,wo ist denn das Problem?
Text.Replace(vbCrLf,vbLf).Replace(vbCr,vbLf).Replace(cvLf,vbCrLf)
0
Please sign in to leave a comment.
Comments
0 comments