Главная страница
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.02 c
14-35028
zx
2003-05-26 16:13
2003.06.12
Компьютерные очки


14-35040
Леприкон
2003-05-23 07:35
2003.06.12
Евровидение 2003


3-34740
Dmitriy E
2003-05-21 18:29
2003.06.12
---|Ветка была без названия|---


9-34665
Ricks
2002-12-30 14:08
2003.06.12
Вопрос к знатокам Direct3D


1-34817
Александр из Минска
2003-06-02 19:42
2003.06.12
TTabSheet из TPageControl