KeyListener und Laufzeitsfehler

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Dummylog
Beiträge: 2
Registriert: Mi, 27.05.2009 00:32

KeyListener und Laufzeitsfehler

Beitrag von Dummylog »

Hi Leute,

Ich habe einen merkwürdigen Laufzeitfehler entdeckt. Dieser Fehler erscheint, sobald die Msgbox-Funktion in der KeyEvent-Prozedur auskommentiert wird
(Hier: Msgbox(oKeyEvent.KeyChar)). Ich stehe vor einem Rätsel. Hier ist der Code, der nur einen Beispiel-Charakter hat:

Code: Alles auswählen

Sub Main
	oDialogModel=createUnoService("com.sun.star.awt.UnoControlDialogModel")
	With oDialogModel
		.Title="KeyListener-Beispiel"
		.Width=200
		.Height=100
	End With
	oDialog=createUnoService("com.sun.star.awt.UnoControlDialog")
	oDialog.setModel(oDialogModel)
	
	oControlModel=oDialogModel.createInstance("com.sun.star.awt.UnoControlEditModel")
	With oControlModel
		.setPropertyValue("Name","txtFile")
		.setPropertyValue("PositionX",20)
		.setPropertyValue("PositionY",20)
		.setPropertyValue("Width",100)
		.setPropertyValue("Height",15)
		.setPropertyValue("TabIndex",0)
	End With
	oDialogModel.insertByName("txtFile",oControlModel)
	oKeyListener=CreateUnoListener("KeyEvent_","com.sun.star.awt.XKeyListener")
	oControl=oDialog.getControl("txtFile")
	oControl.addKeyListener(oKeyListener)
	oDialog.setVisible(True)
	oDialog.Execute()
End Sub

Sub KeyEvent_KeyPressed(oKeyEvent)
	Msgbox(oKeyEvent.KeyChar)
	Select Case oKeyEvent.KeyCode
		Case com.sun.star.awt.Key.ESCAPE
			Msgbox("ESC")
		Case com.sun.star.awt.Key.A
			Msgbox("A")
		Case com.sun.star.awt.Key.END
			Msgbox("END")
		Case com.sun.star.awt.Key.F2
			Msgbox("F2")
	End Select
End Sub
Hat jemand eine Idee, wie dieses Problem gelöst werden könnte?

Gruss
Dummylog
Beiträge: 2
Registriert: Mi, 27.05.2009 00:32

Re: KeyListener und Laufzeitsfehler

Beitrag von Dummylog »

In einem anderen Forum habe ich die Hilfe bekommen.
Es müssen noch folgende Subs hinzugefügt werden.

Code: Alles auswählen

Sub KeyEvent_KeyReleased(oKeyEvent)

End Sub

Sub KeyEvent_disposing(source)

End Sub
Gruss
Dummylog
Antworten