In folgendem Code liegt das Problem:
BlitzBasic: [AUSKLAPPEN] [EINKLAPPEN] Type TGadget Field art,var$ Field txt$,x,y,w,h,parent$,style End Type
Global Gadget.TGadget Global desktop_width = ClientWidth(Desktop()) Global desktop_height = ClientHeight(Desktop()) Dim gadgetnames$(12),gadgetcount(12) Restore gadgetnamen For i = 0 To 12 Read gadgetnames$(i) Next
win = CreateWindow("GUIvention 0.5",0,0,desktop_width,desktop_height-100,0,12) MaximizeWindow win menu = WindowMenu(win) datei = CreateMenu("Datei",0,menu) CreateMenu("Neu",1,datei) CreateMenu("",0,datei) CreateMenu("Öffnen",2,datei) CreateMenu("",0,datei) CreateMenu("Speichern",3,datei) CreateMenu("Speichern unter",4,datei) CreateMenu("",0,datei) CreateMenu("Beenden",5,datei) ansicht = CreateMenu("Ansicht",0,menu) check1 = CreateMenu("Toolfenster",6,ansicht) check2 = CreateMenu("Gadgetparameter",7,ansicht) CheckMenu check1 CheckMenu check2 Global c1c=1,c2c=1
UpdateWindowMenu win
toolwin = CreateWindow("Tools",desktop_width - 610,30,600,200,win,33) tbut1 = CreateButton("Button",0,0,200,40,toolwin) tbut2 = CreateButton("Canvas",200,0,200,40,toolwin) tbut3 = CreateButton("HTML-View",400,0,200,40,toolwin) tbut4 = CreateButton("Liste",0,40,200,40,toolwin) tbut5 = CreateButton("Combobox",200,40,200,40,toolwin) tbut6 = CreateButton("Registerkarten",400,40,200,40,toolwin) tbut7 = CreateButton("Menü",0,80,200,40,toolwin) tbut8 = CreateButton("Panel",200,80,200,40,toolwin) tbut9 = CreateButton("Progbar",400,80,200,40,toolwin) tbutA = CreateButton("Slider",0,120,200,40,toolwin) tbutB = CreateButton("Textarea",200,120,200,40,toolwin) tbutC = CreateButton("Textfield",400,120,200,40,toolwin) tbutD = CreateButton("Treeview",0,160,200,40,toolwin)
settwin = CreateWindow("Gadgetparameter",desktop_width - 610,268,600,desktop_height - 278,win,33) CreateLabel("Variablenname:",5,5,100,20,settwin) pvar = CreateTextField(110,5,250,20,settwin) CreateLabel("Text:",5,30,100,20,settwin) ptxt = CreateTextField(110,30,250,20,settwin) CreateLabel("X:",5,55,100,20,settwin) px = CreateTextField(110,55,250,20,settwin) CreateLabel("Y:",5,80,100,20,settwin) py = CreateTextField(110,80,250,20,settwin) CreateLabel("Breite:",5,105,100,20,settwin) pw = CreateTextField(110,105,250,20,settwin) CreateLabel("Höhe:",5,130,100,20,settwin) ph = CreateTextField(110,130,250,20,settwin) CreateLabel("Parent:",5,155,100,20,settwin) pparen = CreateTextField(110,155,250,20,settwin) CreateLabel("Style:",5,180,100,20,settwin) pstyle = CreateTextField(110,180,250,20,settwin) acombo = CreateComboBox(5,205,355,20,settwin)
desiwin = CreateWindow("<Unbetitelt>",10,50,400,400,win,33) desi_w = ClientWidth(desiwin) desi_h = ClientHeight(desiwin) desican = CreateCanvas(0,0,desi_w,desi_h,desiwin) bgimg = CreateImage(desi_w,desi_h)
SetBuffer ImageBuffer(bgimg) ClsColor 255,255,255 Cls Color 150,150,150 For i = 0 To desi_w Step 5 Line i,0,i,desi_h Next For i = 0 To desi_h Step 5 Line 0,i,desi_w,i Next
SetBuffer CanvasBuffer(desican) ClsColor 255,255,255 Cls
FlipCanvas desican
Repeat WaitEvent() Select EventID() Case $803 Select EventSource() Case toolwin HideGadget toolwin UncheckMenu check1 c1c = 1 - c1c Case settwin HideGadget settwin UncheckMenu check2 c2c = 1 - c2c End Select UpdateWindowMenu win
Case $801 Select EventSource() Case toolwin SetGadgetShape toolwin,desktop_width - 610,30,600,200 Case settwin SetGadgetShape settwin,desktop_width - 610,268,600,desktop_height - 278 Case desiwin SetGadgetShape desiwin,10,50,desi_w,desi_h End Select
Case $1001 Select EventData() Case 5 End Case 6 c1c = 1 - c1c If c1c = 1 Then CheckMenu check1 : ShowGadget toolwin Else UncheckMenu check1 : HideGadget toolwin Case 7 c2c = 1 - c2c If c2c = 1 Then CheckMenu check2 : ShowGadget settwin Else UncheckMenu check2 : HideGadget settwin End Select UpdateWindowMenu win
Case $401 Select EventSource() Case tbut1 aktugadget = 1 Case tbut2 aktugadget = 2 Case tbut3 aktugadget = 3 Case tbut4 aktugadget = 4 Case tbut5 aktugadget = 5 Case tbut6 aktugadget = 6 Case tbut7 aktugadget = 7 Case tbut8 aktugadget = 8 Case tbut9 aktugadget = 9 Case tbutA aktugadget = 10 Case tbutB aktugadget = 11 Case tbutC aktugadget = 12 Case tbutD aktugadget = 13 Case acombo cnt = 0 sgi = SelectedGadgetItem(acombo) For Gadget.TGadget = Each TGadget If cnt = sgi Then SetGadgetText pvar,Gadget\var$ SetGadgetText ptxt,Gadget\txt$ SetGadgetText px,Gadget\x SetGadgetText py,Gadget\y SetGadgetText pw,Gadget\w SetGadgetText ph,Gadget\h SetGadgetText pparen,Gadget\parent$ SetGadgetText pstyle,Gadget\style EndIf cnt = cnt + 1 Next Case pvar Gadget\var$ = TextFieldText(pvar) Case ptxt Gadget\txt$ = TextFieldText(ptxt) Case px Gadget\x = Int(TextFieldText(px)) Case py Gadget\y = Int(TextFieldText(py)) Case pw Gadget\w = Int(TextFieldText(pw)) Case ph Gadget\h = Int(TextFieldText(ph)) Case pparen Gadget\parent$ = TextFieldText(pparen) Case pstyle Gadget\style = Int(TextFieldText(pstyle)) End Select
Case $201 If mdown = 0 Then ampx = mpx : ampy = mpy mdown = 1
Case $203 mx = EventX() my = EventY() mpx = Int(mx/5)*5 mpy = Int(my/5)*5 DrawImage bgimg,0,0 Color 255,0,0 Line mpx-2,mpy,mpx+2,mpy Line mpx,mpy-2,mpx,mpy+2
For Gadget.TGadget = Each TGadget Color 150,150,150 Rect Gadget\x,Gadget\y,Gadget\w,Gadget\h Color 200,200,200 Rect Gadget\x,Gadget\y,Gadget\w,Gadget\h,0 Color 0,0,0 Text Gadget\x+3,Gadget\y+3,Gadget\var$ Next
Color 0,255,0 If mdown = 1 And aktugadget <> 0 Then If mpx > ampx Then ax = ampx : aw = mpx-ampx+1 Else ax = mpx : aw = ampx-mpx+1 If mpy > ampy Then ay = ampy : ah = mpy-ampy+1 Else ay = mpy : ah = ampy-mpy+1 Rect ax,ay,aw,ah,0 EndIf
FlipCanvas desican Default If mdown = 1 And aktugadget <> 0 Then gadgetcount(aktugadget-1) = gadgetcount(aktugadget-1) + 1 CreateGadget(aktugadget,gadgetnames$(aktugadget-1)+Str$(gadgetcount(aktugadget-1)),"",ax,ay,aw,ah,parent,style) ClearGadgetItems(acombo) For Gadget.TGadget = Each TGadget AddGadgetItem acombo,Gadget\var$ Next EndIf mdown = 0 End Select Forever
End
Function CreateGadget(gart,gvar$,gtxt$,gx,gy,gw,gh,gparent,gstyle) Gadget.TGadget = New TGadget Gadget\art = gart Gadget\var$ = gvar$ Gadget\txt$ = gtxt$ Gadget\x = gx Gadget\y = gy Gadget\w = gw Gadget\h = gh Gadget\parent = gparent Gadget\style = gstyle End Function
.Gadgetnamen Data "Button","Canvas","HTML-View","Liste","Combobox","Registerkarten" Data "Menü","Panel","Progbar","Slider","Textarea","Textfield","Treeview"
Wenn die Stelle ausgeführt wird, wo "Alle Stellen dieser Art funktionieren nicht" steht (und auch bei den anderen), kommt oben genannte Fehlermeldung. Nur warum? Das Objekt Gadget existiert ja eigentlich.
Hat irgendjemand eine Ahnung, woran es liegen könnte?
|