problem z odwolaniem sie do pola klasy w mdi

Odpowiedz Nowy wątek
2011-07-19 01:44
0

Otóż mam taki problem:
Tworze aplikacje MDI, gdzie mam dwa typy okien potomnych plus okno rodzica. Okna potomne sa tworzone poprzez nacisniecie odpowiedniego przycisku, ktory wywola metode tworzącą nowe okno potomne. I teraz moj problem:
Gdzies w programie w jakims tam Unicie, chciałbym odwołac sie do konkretnego pola klasy okna potomnego (wyciągnąć informacje) tyle ze okna te tworzone sa dynamicznie i nie mam wczesniej jawnie okreslonego obiektu danej klasy, tak jak to jest w przypadku głównej formy programu.

Kod wyglada mniej wiecej tak:

jakis tam unit:

function GetInfo: Word;
...
zmienna:= fooobiekt_klasy.pole_klasyfoo.
result:= zmienna;

Jesli obiekt_klasy byłby główna forma programu problem z głowy, w tym przypadku nie bardzo wiem jak do tego podejsc, tym bardziej ze sa to jeszcze okna potomne tworzone w trakcie działania programu.

Pozostało 580 znaków

2011-07-19 07:44
0

Możesz te zmienne okien przechowywać w głównym oknie, jako pola klasy.

Pozostało 580 znaków

2011-07-19 10:55

MDIChildCount + MDIChildren + ActiveMDIChild +

if MDIChildren[i] is TMojeOknoMDITypuPierwszego then
  (MDIChildren[i] as TMojeOknoMDITypuPierwszego).MojaWlasciwosc := Dupa
else if MDIChildren[i] is TMojeOknoMDITypuDrugiego then
  (MDIChildren[i] as TMojeOknoMDITypuDrugiego).MojaInnaWlasciwosc := InnaDupa;

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2011-07-19 13:14
0

No ok ale pozniej jak wartosc z MojaWlasciwosc przypisac do jakiejs zmiennej.
Czyli:
procedure PobierzWartosc
var
temp
begin
if MDIChildren[i] is TMojeOknoMDITypuPierwszego then
(MDIChildren[i] as TMojeOknoMDITypuPierwszego).MojaWlasciwosc := Dupa
temp:= (MDIChildren[i] as TMojeOknoMDITypuPierwszego).MojaWlasciwosc
end;

temp i MojaWlasciwosc sa tego samego typu.

w przypisaniu wyskakuje blad w trakcie dzialania programu: Access violation at address..
poza tym jak pobrac numer aktywnego okna potomnego [i]...jesli sa np. 3 a jestem na drugim oknie

Pozostało 580 znaków

2011-07-19 13:56
0

kod trzeba najpierw ZROZUMIEĆ a nie przepisywać bez sensu!


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2011-07-19 14:23
0

Ok dzieki, poszedlem po rozum do glowy i wszystko jest clear :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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