Jeg forstår dit problem derhen, at du vil overføre indholdet fra en TEdit på een form til f.eks. en TLabel på en anden form ?!?
Hvis du får memory-problem, er det sikkert fordi din Form2 ikke er oprettet endnu. Rækkefølgen de forskellige forms bliver oprettet i, kan du se under 'Project->Options' i 'Forms' fanen - alternativt ved at kigge i den .CPP som hedder det samme som dit projekt. Du kan formentlig så løse dit problem, ved ganske enkelt at bygge om på rækkefølgen af de to. (Husk på - første form der dannes, er også den form den vises først - UANSET hvad du gør.
C++ Builder fyrer både constructor, FormCreate, FormActivate og FormShow eventerne af for de forme der dannes i fbm. den FormCreate() der ligger i projekt .CPP'en. Det er kun Paint eventen der "forsinkes" til der bliver lavet Application->Run();
Jeg laver gerne følgende krølle i FormPaint() hvis en ndring af rækkefølgen ikke løser mit problem:
void __fastcall TForm1::FormPaint(TObject *Sender) { static bool firstTime = true; if (firstTime && Form2 != NULL) { // ALTID dette først, da kald til andre funktioner kan "trække" en OnPaint // event, og sende programmet herned igen. (F.eks. ændring af en pro- // perty.) firstTime = false;
Bemærk krøllen omkring Form2 != NULL - hvis Form2 ikke er dannet endnu, vil Form2 indeholde NULL og så kan du ikke bruge den som pointer endnu.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.