loGDTest = Createobject('GDTest.GDTest') && Works loGDTest.Show() && No error, but no form displayed ? loGDTest.getPassword() && Works ? loGDTest.getUser() && Works * Now, my main problem is that I do not understand from where you want to access the values define class GDTest as myForm OLEPUBLIC function getUser() as String return this.text1.value endfunc function getPassword() as String return this.text2.value endfunc procedure init() as VOID this.visible = .t. read events endproc enddefine DEFINE CLASS myForm AS form Top = 0 Left = 0 Height = 91 Width = 242 DoCreate = .T. Caption = "Form1" _memberdata = "" Name = "Form1" ADD OBJECT text1 AS textbox WITH ; Height = 23, ; Left = 16, ; Top = 34, ; Width = 100, ; Name = "Text1", ; Value = "Default User" ADD OBJECT text2 AS textbox WITH ; Height = 23, ; Left = 137, ; Top = 34, ; Width = 100, ; PasswordChar = "*", ; Name = "Text2", ; Value = "Default Password" ADD OBJECT label1 AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "User", ; Height = 17, ; Left = 19, ; Top = 19, ; Width = 29, ; Name = "Label1" ADD OBJECT label2 AS label WITH ; AutoSize = .T., ; BackStyle = 0, ; Caption = "Password", ; Height = 17, ; Left = 138, ; Top = 20, ; Width = 58, ; Name = "Label2" ADD OBJECT command1 AS commandbutton WITH ; Top = 65, ; Left = 137, ; Height = 23, ; Width = 100, ; Caption = "Exit", ; Name = "Command1" PROCEDURE command1.Click clear events quit ENDPROC ENDDEFINE