von Dummylog » Mi, 27.05.2009 00:44
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
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]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
[/code]
Hat jemand eine Idee, wie dieses Problem gelöst werden könnte?
Gruss