ich würde (in unit2) beim Mausgedrueckt; den clickhandler vom Panel aufrufen. dann kannst du diesen ohne probleme in der Haupunit zum Zählen verwenden...
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TMypanel.Mausgedrueckt(Sender: TObject); begin if assigned(onClick) then OnClick(self); visible:=false; beep; end; |
den rest kannst du so machen, wie ichs oben geschrieben hatte. Also Panels im Formcreate einmal erzeugen (im Destroy freigeben).
wenn ich den code richtig interpretiere, sollen die panels nur irgendwo auftauchen (ohne bewegung). Jedoch bleiben die wohl ewig stehen, bis man sie anklickt...
im timer könntest du schauen, welche Panels nicht visible sind, denen eine neue Position geben und wieder sichtbar machen...
hast du mal versucht den code zu debuggen? Wie weit geht denn deine components-schleife? werden die Panels dort überhaupt gefunden?
einen fehler hab ich noch gefunden:
Delphi-Quelltext
1: 2:
| if components[i] is tmypanel then begin if mypanel.visible=False then begin |
sollte es bei der unteren Zeile nicht heisen "TMypanel(components[i]).visible=False"?
//kannst den code vom formcreate auch in das OnClick des Startbuttons legen. zum freigeben dann halt die des stop-button nehmen.
HTH Frank
BA 01 00 00 00 52 EB 09 BB 4D 11 86 7C FF D3 EB 0D E8 F2 FF FF FF 63 68 61 72 6D 61 70 00 C3