Dostęp do tablicy z poziomu innej form-y

0

Witam,

mam pytanko, a mianowicie nie wiem jak zrobić tak, aby do tablicy którą mam w form1, można było mieć dostęp w form2. Próbowałem Form1.Tab[i], ale wyskakuje błąd, iż Tab jest niezadeklarowany. Prosiłbym o pomoc lub nakierowanie mnie na rozwiązanie problemu.

Z góry dziękuję
Counter

0

Jeśli klasa Form1 ma udostępniać tą tablicę, to musi być zadeklarowana w sekcji public:

TForm1 = class(TForm)
//kontrolki i zdarzenia
public
  Tab: array of Byte;
end;

typu tablicy nie podałeś, więc w zamian za array of Byte podstaw swój typ;

Więcej informacji uzyskasz w Kompendium Delphi - Rozdział 3 - Poziomy dostępu do klasy.

0

Coś mi się wydaje, że pytacz nie umieścił unitu z Form1 w uses unitu z Form2. I od razu uprzedzając następne pytanie pytacza "czemu nie działa" Unit z Form1 umieszczasz w uses w unicie z Form2 ale po implementation.

0

@babubabu - raczej nie, bo:

Counter napisał(a)

Próbowałem Form1.Tab[i], ale wyskakuje błąd, iż Tab jest niezadeklarowany.

więc dostaje komunikat, że Tab nie jest zadeklarowany, a nie Form1; Nie wiem w którym miejscu umieścił tą tablicę, ale jeśli doda odpowiedni moduł do uses i zadeklaruje ją w sekcji innej, niż public, to po próbie kompilacji dostanie błąd: [Error] Undeclared identifier: 'Tab'.

0

Najlepiej umieścić ją w innym module. Jeśli do zmiennej ma być dostęp z kilku miejsc w aplikacji, najlepiej ją umieścić w osobnym module. Porządkuje to kod i pomaga zapobiegać circular reference.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.