Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Problem mit Objekt in dyn. Array
Autor: Karl-Jürgen Hilger (---.dyn.telefonica.de)
Datum:   27.07.16 22:23

Hi,

ich bin mir eigentlich ziemlich sicher, ein Objekt innerhalb eines dynamischen Arrays erstellt zu haben, so wie Roland es in der Hilfe vorgemacht hat.
Das Beispiel unten erstellt einen Button, der wie ein Schalter nach einem Klick entweder rot oder grün ist.
Der Konstruktor funktioniert, Objekt wird erzeugt, aber die Methode "switch@" wird nicht erkannt, was zur Fehlermeldung führt.

Dagegen funktioniert ein Einzel- Objekt (ohne Array) sehr wohl mit der Methode.

In der While- Schleife ganz unten ist die "switch@"- Methode gerade auskommentiert, damit die alternative Proc "Umschalten" die einwandfreie Funktion des Codes demonstrieren kann.
Um die Fehlermeldung zu erhalten, bitte einfach "Umschalten" auskommentieren und "toggle[0].switch()" aktivieren.

Über einen Tip würde ich mich freuen - vielleicht hab' ich ja auch nur grade ein Brett vorm Kopf ...


Danke und Gruß
KJ

 $H messages.ph
 $H windows.ph
 //-------------------------------------------XProfan X3.1 (Win7/64)
 Declare memory toggle[]
 Declare ende%, handle ende
 Class SWITCHBUTTON = apic%%,\
                      bpic%%,\
                      button%%,\
                      red%,\
                      switchbutton@,\
                      switch@
 
 Proc SWITCHBUTTON.switchbutton
   Parameters handle parent, long a,b,c 
   .apic%%   = Create("hNewPic", c-10, c-10, Rgb(192,0,0))
   .bpic%%   = Create("hNewPic", c-10, c-10, Rgb(0,192,0))
   .button%% = Create("PicButton", parent, .apic%% , a, b, c, c)
 EndProc
 
 Proc switchbutton.switch
   If .red%
      .red% = 0
      SendMessage(.button%%, ~BM_SETIMAGE, ~IMAGE_BITMAP, .apic%%)
      
   Else
      .red% = 1
      SendMessage(.button%%, ~BM_SETIMAGE, ~IMAGE_BITMAP, .bpic%%)
      
   EndIf
 EndProc
 
 Proc Umschalten
   With toggle[0]
     If .red%
        .red% = 0
        SendMessage(.button%%, ~BM_SETIMAGE, ~IMAGE_BITMAP, .apic%%)
        
     Else
        .red% = 1
        SendMessage(.button%%, ~BM_SETIMAGE, ~IMAGE_BITMAP, .bpic%%)
        
     EndIf
   EndWith
 EndProc
 
 cls
 toggle[0] = New(SWITCHBUTTON, &hwnd, 200,100,48)
 ende      = Create("Button",  &hwnd, "STOP" , 0, 0, 50, 30)
 
 whilenot ende%
   waitinput
   If Clicked(ende)
     ende% = 1
     DeleteObject toggle[0].apic%%, toggle[0].bpic%%
     Dispose toggle[]
   ElseIf Clicked(toggle[0].button%%)
   Umschalten                                        //---- funktioniert
 //toggle[0].switch()                                //---- funktioniert nicht
   EndIf
     
 EndWhile
 End
 




Nachricht bearbeitet (27.07.16 22:30)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Problem mit Objekt in dyn. Array  Neu
Karl-Jürgen Hilger 27.07.16 22:23 
 Re: Problem mit Objekt in dyn. Array  Neu
Jörg Sellmeyer 28.07.16 10:32 
 Re: Problem mit Objekt in dyn. Array  Neu
Karl-Jürgen Hilger 28.07.16 16:56 
 Re: Problem mit Objekt in dyn. Array  Neu
Jörg Sellmeyer 28.07.16 20:03 
 Re: Problem mit Objekt in dyn. Array  Neu
RGH 28.07.16 20:09 
 Re: Problem mit Objekt in dyn. Array  Neu
Michael Wodrich 28.07.16 23:34 
 Noch eine Frage wegen Programmabsturz  Neu
Karl-Jürgen Hilger 10.08.16 15:15 
 Re: Noch eine Frage wegen Programmabsturz  Neu
RGH 10.08.16 17:27 
 Re: Noch eine Frage wegen Programmabsturz  Neu
Karl-Jürgen Hilger 10.08.16 17:52 
 Re: Noch eine Frage wegen Programmabsturz  Neu
RGH 18.09.17 11:50 
 Re: Noch eine Frage wegen Programmabsturz  Neu
Karl-Jürgen Hilger 18.09.17 13:05 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org