Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.12;
Скачать: CL | DM;

Вниз

Komponent CreateWnd, Create   Найти похожие ветки 

 
Delphi5.01 ©   (2003-04-12 22:53) [0]

Zdrastvuite!
pri sozdanii komponenta ispolzuiut CreateWnd, chtob sdelat kakieto operacii s dannimi komponenta, ispolzuiut CreateWnd potomu chto Create-e komponent esho ne poluchil handla nu i vsakuiu infu, poluchaetsa chto ego vizivaut pered tem kak nachinaetsa prigotovlenie k ego vivodu na ekran (risovaniu). k sojaleniu etoi proceduri net vo mnogix drugix komponentax, takix kak PaintBox.
nu a teper pochemu ia zdes eto vso napisal, sozdau komponent na baze PaintBox-a, i u nego est svoistvo FileName: TFileName (toje samoie chto String), mne nujno zagruzit opredelonnie dannie s faila pri sozdanii komponenta.
Problemma: v Create svoistvo FileName="", problemmu reshil s pomoshu OnPaint, no schitivat dannie prixoditsa neskolko sekund, a za eto vrema vsa forma uje prorisovalas, i moi komponent pozdno poiavlaetsa, po etoi prichine nato vse operacii pomestit v sobitie v kotorom FileName svoistvo uje prinalo svoe znachenie, no v kakom imenno ia ne znau, mojet kto znaet (variant v SetFileName ne podxodit,proveral po shaovo posle Create srazu pereskochil v OnPaint).

nu i vtoroi vopros toje po povodu komponenta, no ochen slojni! vozmojno li sdelat tak chtob moi komponent imel iskluchitelnie prava na klientskoi chasti formi. chto oznachaet iskluchitelnie prava? eto oznachaet, esli ia risuiu chtoto na forme to eto izobrajenie ne perexodet na moi komponent, kak naprimer s Button-om, esli na ego meste na Form1.Canvas chtot narisovat to Button ostanetsa netronutim, a esli narisovat na meste PaintBoxa, ili Image-a to izobrajenie pereidot na PaintBox, Image.

Spasibo!


 
Delphi5.01 ©   (2003-04-13 13:26) [1]

Otvet na vtoroi vopros nashol
Canvas.TryLock
Canvas.UnLok


 
MBo ©   (2003-04-14 07:54) [2]

Сообщения такого объема на транслите читать очень трудно.
Поставь какой-нибудь перекодировщик.


 
Delphi5.01 ©   (2003-04-14 23:26) [3]

MBo tolko na vas nadejda! No voprosi eti uje ia reshil no vot poevilas drugaia problema, Canvas.TryLock ne rabotaet, on voobshe nichego ne blokiruet! a pochemu?

i vot malenki vopros kak prervar TThread, on ne zakanchivaet deisvie posle MyThread.terminate! a operacia Form1.close vidaot oshibku izza togo chto potok ne zakonchil svoiu rabotu!

Help please! Thanks!


 
MBo ©   (2003-04-15 05:17) [4]

наверно,
while not Canvas.TryLock do;

terminate - только вежливо просит TThread остановиться при первой же возможности. Если плохо организован Execute, этого можно ждать долго.
А ждать надо - TThread.WaitFor


 
Delphi5.01 ©   (2003-04-15 07:28) [5]

Spasibo.



Страницы: 1 вся ветка

Текущий архив: 2003.06.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-34916
Duby
2003-06-01 22:26
2003.06.12
Наложение компонентов


3-34701
rosl
2003-05-23 07:39
2003.06.12
sql


1-34918
Cossys
2003-05-29 16:55
2003.06.12
Как в компоненте DateEdit проверить, что дата не введена


14-34992
etem
2003-05-26 14:55
2003.06.12
При создании индекса по строковому полю трабл...


1-34798
a72
2003-05-29 10:39
2003.06.12
Обработка событий в своем компоненте