Probleme mit Formularen unter BC++B 6 Pro



  • Hallo an alle!
    Ich habe ein grosses Problem.
    Ich habe mit Borland 6 Prof eine neue Anwendung erstellt.
    Das Formular funktioniert einwandfrei.
    Später habe ich mit Neu->Formular ein neues Formular zu mienem Projekt hinzugefügt

    In meiner "main"-Klasse ist das neue Formular auch korrekt hinzugefügt worde:
    USEFORM("SpielForm.cpp", SpielForm1);
    USEFORM("EinstellungsForm.cpp", EinstellungsForm1);
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
    try{
    Application->Initialize();
    Application->CreateForm(__classid(TSpielForm1), &SpielForm1);
    Application->CreateForm(__classid(TEinstellungsForm1), &EinstellungsForm1);
    Application->Run();
    }

    Danach habe ich in meinem SpielForm1 folgendes gemacht:
    #include "EinstellungsForm.h"

    Das SpielForm1 ist als Hauptformular ausgewählt. Folgendes Problem tritt nun auf:
    Das EinstellungsForm1 wird bei Programmstart nicht angezeigt, da Visible=false ist.

    Jetzt möchte ich von SpielForm1 auf den Visible-Parameter von EinstellungsForm1 zugreifen.
    EinstellungsForm1->Visible=true;

    An dieser Stelle (übrigends egal auf welchen Parameter ich zugreifen will) bekomme ich die folgende
    Fehlermeldung:
    Im Projekt QuadPro.exe ist eine Exception der Klasse EAcessViolation aufgetreten "Zugriffsverletztung bei
    Adresse 400EE72E in Modul 'vcl60.bpl'. Lesen von Adresse 000002EC'. Prozeß wurde angehalten...

    Der Programmzeiger steht dann in meiner Projekt Klasse an der Stelle(s.o.)
    Application->CreateForm(__classid(TEinstellungsForm1), &EinstellungsForm1);

    Was mach ich falsch ???

    *snüff* bitte dringends um Hilfe!!

    Jörg Nädele



  • Wieso machst du es auf Visible=false?
    Ruf die Form doch Modal, oder auch nicht modal, je nachdem wie du es benötigst, auf. Dann ist es auch wenn der User es nicht mehr benötigt weg, wirklich weg.

    Code-Hacker



  • Ja das mit dem Modal war die richtige Wahl. Habe es jetzt über ein Dialog gelöst.
    *puh* ein Problem weniger. bleiben 10 🤡)

    thanx
    Jörg


Anmelden zum Antworten