Ĺadny brzuch
Czym różni się obiekt Application od klasy TApplication. Czym wogóle tutaj jest Application i TApplication? To samo tyczy się Form1 i TForm1 (TForm?) i TOpenDialog i innych. Nie mogę do końca tego zrozumieć.
Nie wiem czy dobrze myślę, ale wydaje mi się, że np. Application to taki obiekt, czy też zmienna "pomocnicza" dzięki któremu/której możemy odwołać się do klasy TApplication zawartej w module Forms.pas. Jeśli tak, to dlaczego taki obiekt nie może nosić nazwy np. Application2000 tylko Application?
Unga? Mylisz klasy z ich obiektami :P najlepiej przerzuć się na moment na programowanie w consoli. Ciężko w VCL zakumać działanie klas.
Form1 jest obiektem typu TForm1, a skoleji TForm1 jest klasą dziecziczącą po TForm.
Właśnie o to chodzi, aby mi ktoś dokładnie wyjaśnił czym co się je i dlaczego tak a nie inaczej.
Application to tylko nazwa obiektu, może być prawie dowolna i ten obiekt jest typu TApplication (tak jak samochód jest marki ford). Z kolei TApplication to jest typ (klasa) obiektu, czyli mówiąc w uproszczeniu, jest to jakby definicja, opis właściwości obiektów tego typu. TApplication NIE ISTNIEJE fizycznie, bo jest to jak już wspomniałem TYLKO deklaracja. Natomiast Application (czyli obiekt typu TApplication) istnieje fizycznie i można się do niego odwoływać i coś tam z nim robić, a jego zachowanie i funkcje/możliwości są opisane właśnie w deklaracji klasy.
Tak z życia to obiekt można porównać do samolotu, a klasę do np. modelu F-16, czyli samolot jest typu F-16. F-16 to tylko nazwa mówiąca nam jak ten samolot wygląda, jakie ma właściwości itd.
Tak samo jest z TForm i innymi. Podałeś też nazwę TForm1... to jest jak już wyżej wspomniano klasa dziedzicząca z klasy TForm, co zresztą widać w deklaracji tej klasy:
TForm1 = class(TForm)
To znaczy, że obiekty klasy TForm1 będą mieć te same właściwości co te z klasy TForm, a dodatkowo w klasie pochodnej (TForm1) możemy dodać nowe, lub ukryć/podmienić niektóre odziedziczone.
[dopisane: do postu poniżej]
Marcepanowy - nie bądż taki mądry, przypuszczam, że jak Ty siadałeś do Delphi pierwszy to nie wiedziałeś nawet jak zmienić etykietę formy, więc nie czepiaj się, że ktoś czegoś nie wie, bo po to się pyta, żeby się dowiedzieć. Zamiast pisać posty nic nie wnoszące do tematu odpowiedziałbyś na pytanie skoro tak wszystko wiesz, a takie komentarze zachowaj dla siebie.
Użytkownik MatroX edytował ten post 17 maj 2005, 08:54
Steradian2005, to jak ty "programujesz" nie znajac jezyka? nie potrafie tego zrozumiec.
Właśnie o to chodzi, aby mi ktoś dokładnie wyjaśnił czym co się je i dlaczego tak a nie inaczej.
Do marcepanowego kapturka: programuję bo potrafię i dobrze poruszam się po object pascalu i delphi ale odnośnie zależności klas i obiektów - zawsze sprawiały mi trudności. Nie ma to jak ktoś ci to wytłumaczy, bo w książkach jest o tym mowa tylko powierzchownie.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Nie wiem czy dobrze myślę, ale wydaje mi się, że np. Application to taki obiekt, czy też zmienna "pomocnicza" dzięki któremu/której możemy odwołać się do klasy TApplication zawartej w module Forms.pas. Jeśli tak, to dlaczego taki obiekt nie może nosić nazwy np. Application2000 tylko Application?
Unga? Mylisz klasy z ich obiektami :P najlepiej przerzuć się na moment na programowanie w consoli. Ciężko w VCL zakumać działanie klas.
Form1 jest obiektem typu TForm1, a skoleji TForm1 jest klasą dziecziczącą po TForm.
Właśnie o to chodzi, aby mi ktoś dokładnie wyjaśnił czym co się je i dlaczego tak a nie inaczej.
Application to tylko nazwa obiektu, może być prawie dowolna i ten obiekt jest typu TApplication (tak jak samochód jest marki ford). Z kolei TApplication to jest typ (klasa) obiektu, czyli mówiąc w uproszczeniu, jest to jakby definicja, opis właściwości obiektów tego typu. TApplication NIE ISTNIEJE fizycznie, bo jest to jak już wspomniałem TYLKO deklaracja. Natomiast Application (czyli obiekt typu TApplication) istnieje fizycznie i można się do niego odwoływać i coś tam z nim robić, a jego zachowanie i funkcje/możliwości są opisane właśnie w deklaracji klasy.
Tak z życia to obiekt można porównać do samolotu, a klasę do np. modelu F-16, czyli samolot jest typu F-16. F-16 to tylko nazwa mówiąca nam jak ten samolot wygląda, jakie ma właściwości itd.
Tak samo jest z TForm i innymi. Podałeś też nazwę TForm1... to jest jak już wyżej wspomniano klasa dziedzicząca z klasy TForm, co zresztą widać w deklaracji tej klasy:
TForm1 = class(TForm)
To znaczy, że obiekty klasy TForm1 będą mieć te same właściwości co te z klasy TForm, a dodatkowo w klasie pochodnej (TForm1) możemy dodać nowe, lub ukryć/podmienić niektóre odziedziczone.
[dopisane: do postu poniżej]
Marcepanowy - nie bądż taki mądry, przypuszczam, że jak Ty siadałeś do Delphi pierwszy to nie wiedziałeś nawet jak zmienić etykietę formy, więc nie czepiaj się, że ktoś czegoś nie wie, bo po to się pyta, żeby się dowiedzieć. Zamiast pisać posty nic nie wnoszące do tematu odpowiedziałbyś na pytanie skoro tak wszystko wiesz, a takie komentarze zachowaj dla siebie.
Użytkownik MatroX edytował ten post 17 maj 2005, 08:54
Steradian2005, to jak ty "programujesz" nie znajac jezyka? nie potrafie tego zrozumiec.
Właśnie o to chodzi, aby mi ktoś dokładnie wyjaśnił czym co się je i dlaczego tak a nie inaczej.

Do marcepanowego kapturka: programuję bo potrafię i dobrze poruszam się po object pascalu i delphi ale odnośnie zależności klas i obiektów - zawsze sprawiały mi trudności. Nie ma to jak ktoś ci to wytłumaczy, bo w książkach jest o tym mowa tylko powierzchownie.