Builder C++ - Formularze

0

Witam!!
Mam programik ktory wykorzystuje kilka formularzy i chcialbym z jednego formularza ( w moim przypadku nazywa sie Form3 ) uzyskac z pola Edit tekst ktory pozniej konwertuje na double i przetwrarzam dalej w programie, niestety robie tak:
Grid=StrToFloat(Form3->Edit->Text);

i wywala mi blad: http://liza.umcs.lublin.pl/~dgrzywaczewski/f.JPG

Nie wiem czemu kompilacja przechodzi bez problemowo tylko podczas uruchamiania lipa!!
Sposob powyzszy dziala (ten zakomentowany) ale niestety obiekt musi byc na tym samym formularzu, a to mi nie pasuje, gdyz chce go miec na innym oddzielnym.
Z gory dziekuje za pomoc

Pozdrawiam
DG

0

Hallo kinimod!

W tle Twojego posta widac (jpg) instrukcje jak tworzy sie Formy dynamiczne. Przypuszczam, ze i Ty tworzysz Formy dynamicznie. Stad moje pytanie: czy Form3 juz istnieje w momencie wykonywania instrukcji, ktora powoduje exception?

Pozdrawiam
Markus

0

Witam tu jest trochę bardziej rozwinięty temat http://forum.programuj.com/viewtopic.php?t=5126
Przy tworzeniu dynamicznie Form2 przypisywany jest on do Form1(głównego formularza)

void __fastcall TForm1::Button1Click(TObject *Sender)
{TForm2 *Grid = new TForm2(this);}

należy odwołać sie do Form2 jako obiektu Form1

oid __fastcall TForm3::Button1Click(TObject *Sender)
{
TForm2 *forma = dynamic_cast<TForm2*>(Form1->FindComponent("Form2"));//<--Form1
double d = forma->StringGrid1->Cells[1][1].ToDouble();
Chart1->SeriesList->Series[0]->Add(d,"",clRed);}

w ten sposób możesz sie odwoływać sie z MDIChild(np. Form3) do MDIChild(np.Form2)
Pozdrawiam ;-)

// popatrz może najpierw na datę ostatniego postu (dop. deus)

1 użytkowników online, w tym zalogowanych: 0, gości: 1