Label-Caption zuweisen (war: Help me)
-
Ich weis zwar nicht ob das das ist was du brauchst, aber hier...
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Label1->Caption="Wer war der zweite Captain der USS Enterprise NCC1701-A?";
Button1->Caption="Jonathen Archer";
Button2->Caption="Christopher Pike";
Button3->Caption="James T. Kirk";
Button4->Caption="Jean-Luc Picard";
Button5->Caption="Beamen";
Label5->Caption=last->Label1->Caption;
}Es geht nur um die letzte Zeile.
-
das bringt uns überhaupt nix
zeig mal wo du last deklarierst
-
Das habe ich im Eigenschaften Fenster gemacht.
"Last" war forher Form4. Ich habe im eienschaftenfenster einfach bei Name Last eingetragen"
-
also hast du Last groß geschrieben
dann würd ich das im sourcecode auch mal versuchen!!!
-
schreib einfach mal in deine Form1.cpp folgendes rein:
#include "last.h" //für last.h bitte die entsprechende Header-Datei der Form "last" nehmen
Ich schätze das wird hier wohl das problem sein. Oder du hast die Form "last" nicht in dein Projekt mit eingebunden
Edit: zu lahm...
-
ne, das war jetzt mein Fehler: es ist klein geschrieben.
Da steht jetzt eine Fehlermeldung : "zugriffsverletzung bei Adresse 004016D4
fals das hilft
-
wenn er einfach form4 in last umbenannt hat, wird es wahrschinlich keine last.h geben (heißt mit sicherheit noch unit4)
-
wenn ich es mit
#include "last.h"
mache, wird mir gesagt das dieses last ein unbekanntes Symbol ist.
-
ja seh ich jetzt auch so.
Aber die Zugriffsverletztung sagt uns jetzt auch nur soviel, das du irgendwo in den speicher greifst wo du es nicht darfst. An welcher stelle tritte denn die Zugriffsverletzung auf? Hast du schon gedebugt?
Edit:
Nochmal zum Mitschreiben. du hattest "Last" klein geschrieben, da lag dein Fehler. Da ich aber zu langsam mit dem schreiben war, und ich eine andere Vermutung als Jester2000 hatte, hab ich das mit dem Include vorgeschlagen.
Mach das include also wech!
-
das was im OnCreate steht, schreib das mal bei OnActivate rein
du versuchst ins fenster last zu schreiben, obwohl es noch nicht existiert, weil das OnCreate-ereignis deiner hauptform vor der erstellung der last-form aufgerufen wird
-
ja habe ich, dann kommt der Fehler, und dann zeigt er mir die zeile
Label5->Caption=last->Label1->Caption;
in einem Wunderschönen blau an.
-
ich habe es mal in OnActivate geschoben, und irgendwie ist dadurch die Programmierung mit sammt den gespeicherten Dateien zerstört wurden.
Bei mir läuft garnichts mehr.
ich muss erst mal neustarten und alles neu schreiben.
könnt Ihr mir mal schreiben wie Ihr es machen würdet wenn ein Label von einer Seit ein Label auslesen und den Innhalt übernehmen soll.
dankeschön erstmal
-
wird deine last-Form nicht automatisch erzeugt?
-
dann schreib die übernahme des labels ins OnCreate-Ereignis der Last-Form rein
-
gebt mir doch mal was womit ich was anfangen kann.
Ich habe vorher im VB programmiert, ich kenne mich nicht so aus wie Ihr.
im Vb währe es gewesen:
Label3.caption=last.Label1.Caption
Aber wie mache ich das im C++
-
schieb die Zuweisung, wie von Jester2000 schon erwähnt in das OnCreate der "last"-Form. Denn wenn diese noch nicht erzeugt ist (und das ist sie beim zeichnen der ersten Form noch nicht), kann das nicht funktionieren.
-
Label5->Caption=last->Label1->Caption;
ist schon richtig. du muss aber sicherstellen, dass
1. Label5 bereits existiert.
2. last bereits existiert.
3. Label1 von last auch existiert
4. deine Hauptform kennt lastund das alles wurde bereits hier schon erwähnt
-
Hallo
schreib doch in deiner "Last"-Form
in FormCreate
Form1->Label5->Caption = Label1->Caption;wobei Form1 deien Startform ist
MfG
laus