Funktion, die beliebige Panels blinken lässt



  • Hi,

    ich wollte mir eine Funktion schreiben mit der man bequem beliebige Panels blinken lassen kann. Ich will dabei nur den Namen des Panels übergeben aber leider klappt das nicht ganz.

    void blinky(TPanel Panel)
    {
    Panel.Color=clBlack;
    sleeper(250);
    Panel.Color=clSkyBlue;
    sleeper(250);
    Panel.Color=clBlack;
    sleeper(250);
    Panel.Color=clSkyBlue;
    }
    

    Ich habe noch einiges geändert und andere Varianten probiert aber ich bekomme immer ein "[C++ Fehler] Unit1.cpp(278): E2459 Klassen im VCL-Stil müssen mit dem Operator new erstellt werden"

    Kann mir jemand ein Beispiel geben, wie man sowas richtig macht?

    Danke.
    ravel



  • [cpp]void blinky(TPanel ***Panel)
    {
    Panel
    ->**Color = clBlack;
    ...
    }

    // irgendwo anders
    TPanel *panel = new TPanel(Form1);
    panel->Parent = Form1;
    panel->Top = 0;
    ...

    blinky(panel);[/cpp]



  • Hallo,

    ich hab noch eine Frage, die eigentlich nicht zum Topic passt, aber erscheint die GUI nicht als abgestürzt, wenn man Sleep verwendet??? Oder hast du dir diese Funktion selber geschrieben???



  • Hi,

    erstmal danke für deine Hilfe, Jansen aber leider bekomme ich wieder die gleiche Fehlermeldung 😞

    @Gast: Es ist eine Selbstgeschriebene sleep-Funktion. Schau mal in die FAQ und such nach delay-Funktion, darauf basiert sie.

    Gruß
    ravel



  • Ravel schrieb:

    leider bekomme ich wieder die gleiche Fehlermeldung

    Dann hast du, ggf. irgendwo anders, noch den gleichen Fehler drin. Ist ja leicht zu finden, da dir der Compiler die Zeilenummer mit ausgibt.



  • Hi,

    ich habe den snippet nur einmal verwedet und der Debugger springt auch immer nur auf die eine Zeile.
    Hast Du Deinen Quelltext mal selber ausprobiert?

    Gruß
    ravel



  • Hi,

    ummm Du hattest Recht, der Fkt-Prototyp war noch falsch 😕

    Danke für Deine Hilfe!

    Gruß
    ravel


Anmelden zum Antworten