Stack overflow



  • Hallo,

    ich habe den Konstruktor einer Form folgendermaßen verändert:

    [cpp]
    __fastcall TfrmNewParam::TfrmNewParam(TComponent* Owner, int iSPId) : TForm(Owner)
    {
    iTPId = iSPId;
    }[/cpp]

    Wenn ich die Form nun von einem anderen Formular aus mit

    frmNewParam = new TfrmNewParam(this, iTPId);
    

    aufrufe erhalte ich einen StackOverflow. Was mach ich falsch?

    Der Aufbau der Anwendung ist folgender:

    Mainform (fsMDIForm) zeigt eine Parameteransicht (fsMDIChild) in der ein Parametereingabedialog (frmNewParam) aufgerufen wird (fsNormal). Kann es etwas mit den MDI-Forms zu tun haben? Im Debugger wird nämlich solange der Konstruktor des Parameterdialogs aufgerufen bis der Stack voll ist (Endlosschleife) 😮

    [ Dieser Beitrag wurde am 25.02.2003 um 09:09 Uhr von F98 editiert. ]



  • *push*



  • Bitte nicht drängeln!

    Üblich ist ein "Push" im Abstand von einem Tag, ansonsten bekommt so ein Thread nämlich schnell mal eine vorübergehende Schliessung verpasst. 😉

    PS. Das war nur zur Information, um Kommentare wird ausdrücklich nicht gebeten.



  • in der hilfe zum TForm Konstruktor hab ich das gefunden

    __fastcall TForm(Classes::TComponent* AOwner, int Dummy) : Forms::TCustomForm(AOwner, Dummy) { }
    

    ich hatte mal das gleiche problem setz einfach den integer for

    TComponent* Owner
    

    . dann gings bei mir.



  • Vielen Dank an M+A+T+T für den Tipp (es war dringend)!!


Anmelden zum Antworten