Ĺadny brzuch
na czym polega róznica między wywołaniem unitu np: uses moj_unit powyżej klauzuli implementation, a zaimplementowaniem poniżej jej?
na czym polega róznica między wywołaniem unitu np: uses moj_unit powyżej klauzuli implementation, a zaimplementowaniem poniżej jej?
Zasadnicza roznica jest taka ze jak dasz ponizej implementation, to nie uzyjesz nic z tego unitu przy deklaraci klasy, a co za tym idzie unika sie takiego momentu kiedy kompilator moglby zwariowac - przy wzajemnym odwolaniu sie do klas z 2 unitow (unit 1 do unitu 2 i na odwrot) ;).
Zasadnicza roznica jest taka ze jak dasz ponizej implementation, to nie uzyjesz nic z tego unitu przy deklaraci klasy
Może zadam troche naiwne pytanie, ale jeżeli nie moge nic z niego wyciągać, to po co go wogóle deklarować?
Może zadam troche naiwne pytanie, ale jeżeli nie moge nic z niego wyciągać, to po co go wogóle deklarować?
Mozesz z niego korzystac, jednak jak dasz za implementatnion nie mozesz go uzyc w 'opsie' klasy, ale w jej funkcjach jak najbardziej mozesz.
Zalozmy ze w unit1 masz sobie cos w stylu
uses Windows, ...., unit2; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } forma: Tform2; end; var Form1: TForm1; implementation
a w unit2
uses Windows, ....; type TForm2 = class(TForm) private { Private declarations } public { Public declarations } function funckja(); end;
I teraz zalozmy ze chcemy odowlac sie z funkcji funkcja do formy form1. Aby tego dokonac musimy miec w uses unit1. Jezeli dodamy przed implemenatanion ten unit to delphi wyrzuci blad i nie skompiluje programu. Natomiast jak damy za implementation, to bedziemy mogli spokojnie uzyc wywoalania form1.xxx.
Nie wiem czy sa jeszcze jakies roznice, ale to jest roznica ktora od razu mi sie rzuca w oczy i daje sens uzywania uses w 2 miejscach...
Użytkownik Ali240 edytował ten post 20 wrzesień 2006, 14:50
ok rozumiem, dzięki. Mam na dzieje że to jest jedyna różnica :)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
na czym polega róznica między wywołaniem unitu np: uses moj_unit powyżej klauzuli implementation, a zaimplementowaniem poniżej jej?
Zasadnicza roznica jest taka ze jak dasz ponizej implementation, to nie uzyjesz nic z tego unitu przy deklaraci klasy, a co za tym idzie unika sie takiego momentu kiedy kompilator moglby zwariowac - przy wzajemnym odwolaniu sie do klas z 2 unitow (unit 1 do unitu 2 i na odwrot) ;).
Zasadnicza roznica jest taka ze jak dasz ponizej implementation, to nie uzyjesz nic z tego unitu przy deklaraci klasy
Może zadam troche naiwne pytanie, ale jeżeli nie moge nic z niego wyciągać, to po co go wogóle deklarować?
Może zadam troche naiwne pytanie, ale jeżeli nie moge nic z niego wyciągać, to po co go wogóle deklarować?
Mozesz z niego korzystac, jednak jak dasz za implementatnion nie mozesz go uzyc w 'opsie' klasy, ale w jej funkcjach jak najbardziej mozesz.
Zalozmy ze w unit1 masz sobie cos w stylu
uses Windows, ...., unit2; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } forma: Tform2; end; var Form1: TForm1; implementation
a w unit2
uses Windows, ....; type TForm2 = class(TForm) private { Private declarations } public { Public declarations } function funckja(); end;
I teraz zalozmy ze chcemy odowlac sie z funkcji funkcja do formy form1. Aby tego dokonac musimy miec w uses unit1. Jezeli dodamy przed implemenatanion ten unit to delphi wyrzuci blad i nie skompiluje programu. Natomiast jak damy za implementation, to bedziemy mogli spokojnie uzyc wywoalania form1.xxx.
Nie wiem czy sa jeszcze jakies roznice, ale to jest roznica ktora od razu mi sie rzuca w oczy i daje sens uzywania uses w 2 miejscach...
Użytkownik Ali240 edytował ten post 20 wrzesień 2006, 14:50
ok rozumiem, dzięki. Mam na dzieje że to jest jedyna różnica :)