Seite 1 von 1

KeyListener und Laufzeitsfehler

Verfasst: Mi, 27.05.2009 00:44
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

Re: KeyListener und Laufzeitsfehler

Verfasst: Mi, 27.05.2009 20:39
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