
Wenn ich die "OK-Taste" betätige, gibt es einen Crash und alles verschwindet, so, dass ich nicht weiß, was den Fehler verursacht hat. Was kann ich tun?
diese Option findest du so:Ich würde gerne die Datei hochladen, weiß ich aber nicht, wie es geht.
Ich hoffe, dass das nicht nötig sein wird, weil ich dabei bin, eine ODT-Datei zu schreiben, die durch Kinder im Vorschulalter benutzt werden soll (die VBA-Version ist schon lange fertig und funktioniert einwandfrei), die das Lesen zu Hause lernen wollen.Aber muss denn nicht ein Key-Listner in deinem Falle an ein Ereignis unter ->Extras ->Anpassen ->Ereignis angebunden werden und mit dem Dokument gespeichert werden?
Code: Alles auswählen
REM Nicht nur für Listeners, sondern auch für Handlers obligatorisch.
Sub Caesar_disposing
End Sub
REM Das Ereignis "Taste losgelassen" wird nicht beachtet. Die Rückgabe
REM "False" leitet das Ereignis an die Standardroutine weiter.
Function Caesar_keyReleased As Boolean
Caesar_keyReleased = False 'Nicht notwendig, denn der Funktionswert ist eh False.
End Function
Nix für ungut, aber daran sieht man das Du dich erstens nicht mit dem beschriebenen Weg befasst hast, und zweitens nicht den tieferen Sinn verstehst. Soll vorkommen, bist ja ein "Ausländer"Ich hoffe, dass das nicht nötig sein wird [...]
Für sie wäre es eine Zumutung, wenn sie mit dem Menu arbeiten müssten. Sie können eben noch nicht lesen.
*hust-hust-hust*die VBA-Version ist schon lange fertig und funktioniert einwandfrei
[...]
Es scheint mir, dass der Fehler nicht mehr vorkommt.
Code: Alles auswählen
Global PfadLesenlernen, StringPfadUndNameVLCexe, VLCParameter, AktuellerPfad, Erweiterung As String
Code: Alles auswählen
Global PfadLesenlernen As String, StringPfadUndNameVLCexe As String, VLCParameter As String, AktuellerPfad, Erweiterung As String
Code: Alles auswählen
Sub StartCaesarHandler
Dim sPrefix As String
Dim sService As String
sPrefix = "Caesar_"
sService = "com.sun.star.awt.XKeyHandler"
oCaesarCurrCont = ThisComponent.CurrentController 'Globale Variable.'
oCaesarHandler = CreateUnoListener(sPrefix, sService) 'Globale Variable.'
oCaesarCurrCont.addKeyHandler(oCaesarHandler)
Print "Caesar angemeldet!"
End Sub
Code: Alles auswählen
If ZeigeMsgBox then
print "Pfeil-nach-rechts-Taste mit dem Code " + Numero + "Umschalttaste mit dem Code " + iMod
End If
Module2.Auswahl
Code: Alles auswählen
If ZeigeMsgBox then
print "Pfeil-nach-rechts-Taste mit dem Code " + Numero + "Umschalttaste mit dem Code " + iMod
End If
Auswahl
Ja, ich war zu schlampig. Das Pünktchen bei "... + .Erweiterung, ..." muss weg. Und die ganze Zeile danach (MsgBox ActiveDocument.Path) muss auch weg.Da ich mich ehern ein bischen besser in Calc als im Writer auskenne, höre ich jetzt mit der weiteren Code Analyse auf. Obwohl, doch noch nicht so ganz. Denn
Ich bekomme eine Fehlermeldung, aber ohne Programmabsturz, die auch etwas anderes besagt. Und zwar wenn ich z.B. die Pfeil Taste nach rechts bewegt habe und die daraufhin erscheinende Textmeldung "Pfeil-nach-rechts-Taste mit dem Code ...." mit Ok bestätige kommt dann das dabei raus.
fehlermeldung.png
fehlermeldung.png (27.7 KiB) 2 mal betrachtet
Ich habe keine andere Wahl, denn nicht alle Eltern können / wollen sich leisten, das Geld für Word auszugeben. Andererseits ist es für mich viel leichter, mit VBA zu arbeiten.Tja, so einfach ist das mit dem Umschreiben von VBA Makros zu StarBasis doch nun mal halt nicht. Und ganz ehrlich und wahrhaftig gesagt, ich möchte nicht in deiner Haut stecken. Mir persönlich wäre das einfach zu viel des guten mich mit 2 ähnlichen Programmiersprachen und deren Unterschiede auseinander zusetzen.
Danke schönVielen Dank, balu, für die große Mühe, die du dir gegeben hast.
Also schlampig bist Du nicht. Und man kann ja durchaus mal was übersehen. Die MsgBox habe ich übrigens durchaus als eine typische Programmierhilfe angesehen, machen ja schließlich viele genau so, auch ich. Und wie Du jetzt mitbekommen hast, hat sie ihren Zweck mehr als erfüllt. Denn dadurch war eine Fehlerbeschreibung doch viel einfacher.Ja, ich war zu schlampig. Das Pünktchen bei "... + .Erweiterung, ..." muss weg.
Und die ganze Zeile danach (MsgBox ActiveDocument.Path) muss auch weg.
Ich meinte nicht "MsgBox", balu, sondern "ActiveDocument.Path". Denn das erste ist unverändert auch in LO-Basic vorhanden, das zweite ist - wenn ich mich nicht irre - nur in VBA da.Die MsgBox habe ich übrigens durchaus als eine typische Programmierhilfe angesehen, machen ja schließlich viele genau so, auch ich. Und wie Du jetzt mitbekommen hast, hat sie ihren Zweck mehr als erfüllt. Denn dadurch war eine Fehlerbeschreibung doch viel einfacher.