Ne moga da razbera - pitam.

2 отговора 3 прегледа
#1

Ne moga da razbera - pitam.

Izwinete me ce wi zanimawam s wapros za nacinaesti, no se motaia wece 2 dena. Znaci kakuw mi e problema. Pisa na CBuilder ( i Delphi stawa). Prawia si sobstwen component. W nego ima edno private: ............................. AnsiString FTitle; ............................. protected: .......................................................................... AnsiString __fastcall GetTitle(void); void __fastcall SetTitle(AnsiString asTitle); ........................................................................... __published: ....................................................................... __property AnsiString Title={read=GetTitle,write=SetTitle,nodefault); Wsicko si e tip -top, obace, zadawam niakakwa stoinost "in dessign time" primerno Title="any text......."; Kato kompilirah tazi stonost na property-to be ste da se widi "at runtime". Prawi si negowot default, t.e. "empty". Wrustam se w Object Inspectora - stoinostta koiato zadadoh "in dessign time" si stoi. Sto taka? Nesto nedorazbiram izglezda s "property atributes". Znam ce e sum nacinaesti, ama niama kogo da pitam. Molia wi za pomost. Predwaritelno blagodaria.
Отговор
в отговор на fifi #2

Ne moga da razbera - pitam.

Е ако мислиш че CB е без bug'ове ..... Опитай да зададеш стойността по време на dezign, а не да разчиташ на defoult. И виж дали са ти чекнати следните стойности В Project properties: design&runtime W linker: Generate Import library generate Lib file Ako ne pomogne, ne se ot`ajwaj toku wiv po nqkoe wreme si se sprawil. A sled towa e po lesno - naistina.
Отговор
в отговор на fifi #3

Мда-а-а-а, май нема такова животно...

...Аз ти прочетох вьпроса, но не смеех да се обадя, щото преценявам познанията си като твърде бедни, за да давам акъл. Обаче, пробвах пример който си "мисля", че е твоя...и видях "че нема такова животно". Ама си мисля за нещо. Значи, хората които са съвсем начинаещи, не обръщат внимание на едни важни работи. Когато се конструира обект от даден клас, първоначално, всичките му members се 0-ват (ако не е указано друго). Това добре, обаче, има и такива members достъпът до които е със Set-ващ метод. Това означава, че тези методи се изпъл- няват. Ако ти имаш една камара такива( то стигат и един- два), вьзможно е, да се получава някакво "гадно умешване" на тяхната дейност. At dessign time, in Object Inspector, това може и да не го видиш, тъй като бърникаш из __property, ама трика става като пуснеш програмата. Върти ми се една такава мисъл из главата. Ако е така, ще откриеш проблема си, като огледаш Set-ващите методи. Дай боже да е там шашмата, щото хич не ми е приятно да мисля, че ме дебне от някъде bug... Освен това, много си отваряй очите за inherited members, които идата като protected. Виж ги за defaults. Поздрави: Любо
Отговор