![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Здраст! Подск. Плиз! Завершение программы.... [Delphi, Windows]
Константин © (2002-10-19 16:21:00)... из вторичного VCL-потока в KOL-программе без появленя в FullScreen-DDraw системного меню.
Константин (2002-10-23 14:55:00) [1]Gandalf@ятебевыслалкойчёпосмотри
SPeller (2002-10-23 11:53:00) [2]
> Константин (23.10.02 10:40)
В приведённом тобой коде абсолютно параллельно какой формат графики ты используешь, хоть ВМР, хоть РСХ, хоть CDR, хоть FFX.
Константин (2002-10-23 10:40:00) [3]некТо>>А если я хочу, чтобы этот фрагмент не знал, какая именно графика(JPEG?BMP?PNG?Other?) хранится в FRecreateGraphic? (для логической модульности и расширябельности).
HekTo (2002-10-22 16:13:00) [4]>with TCanvas.Create do
>begin
>Handle:=ddsurfacedc;
>Draw(0,0,FRecreateGraphic);
>end;
>Вы думаете. что в KOL я могу проще и понятнее написать????
Если FRecreateGraphic это PBitmap(для KOL), то:
FRecreateGraphic.Draw(ddsurfacedc, 0, 0);
Где проще и понятнее ? :)
Константин (2002-10-22 14:25:00) [5]Gandalf >> При восстановлении поверхности, если она была утерена, после _Restore выполняется этот фрагмент (Free забыл при рукописном копировании в конференцию). А чё DirectX проверять:))))
Gandalf (2002-10-22 13:37:00) [6]Думаю не будем спорить о том совмещать VCL и КОЛ или нет, если хочется то почему нет? Насчет помоши, так вот по обрывкам кода судить тяжело (и даже очень).Попробуй проверить классические ошибки, Dummy-Pointer (если это читый КОЛ), работу с памятью, сам DX, и нтеграцию (места стыка), если dll юзаешь то и их тоже. Или поделись с кем нибуть исходниками (если нежалко, или не тайна). Удачи.
Константин (2002-10-22 12:19:00) [7]У меня в движке такие строки(если потеряна поверхность):
with TCanvas.Create do
begin
Handle:=ddsurfacedc;
Draw(0,0,FRecreateGraphic);
end;
Вы думаете. что в KOL я могу проще и понятнее написать????
blackalex (2002-10-21 17:06:00) [8]VCL не нужен вообще. Есть все в KOL. Покапайся в Graphics extensions на KOL сайте, там есть и JPEG,GIF и PNG . В самом же KOL есть TBitmap
BorisMor (2002-10-21 16:54:00) [9]
> Нее, а как мне с TBitmap,TJPEGImage итп быть??
А в чем проблема ?
Bitmap - поддерживается KOL
JPEG - надо скачать KolJpegObj
+ есть поддержка PNG и PCX
Константин (2002-10-21 16:37:00) [10]Нее, а как мне с TBitmap,TJPEGImage итп быть??
ну будет прога 50 кб 170--50 не 420--170! ну нельзя же всё обсурдить! А насчёт взаимной неперевариваемости VCL&KOL ты скореевсего прав.
SPeller (2002-10-21 13:32:00) [11]Неужели нельзя без VCL-овских модулей обойтись? KOL практически полностью может их заменить. Тогда размер твоей проги будет ~50 Кб. Может оно именно из-за этого и глючит, что ты и VCL и KOL одновременно используешь?
Константин (2002-10-21 13:17:00) [12]~170 KB. да подскажи же по сути, млин! А то всё уточняешь да уточняешь.
SPeller (2002-10-21 11:09:00) [13]А размер программы какой?
Константин (2002-10-21 10:40:00) [14]От VCL я использую Classes,Sysutils. И ни модулем больше.
Т. е. нет в главном модуле uses Forms, вызовов Application.* итп.
SPeller (2002-10-20 15:45:00) [15]А как соединились KOL и VCL? Если присутствует и то и другое, то первое не имеет смысла использовать, поскольку VCL закрывает все полезные свойства KOL.
Константин (2002-10-20 13:20:00) [16]Итак, сядьте поудобне, раздвиньте глазные раковины:::)))
Есть KOL-прога. В ней создаётся KOL-окно. Обработчики событий
находятся в специальном VCL-классе. При его создании создаётся поток средствами VCL. Он и вызывает DirectX-методы. Инициализация DirectDraw и DirectInput происходит в главном потоке, созданном "по-умолчанию".
Клава не блокируется, какие флаги не ставь. AltF4 срабатывает и когда это нельзя. Если же в VCL-потоке дойти до того места, где
находиться должен "самодельная точка выхода", то там не помогает ни ExitProcess,PostQuitMessage ни вообще ничего - всеравно ждёт ALTF4. Ужас. немой.
SPeller (2002-10-20 00:47:00) [17]А теперь то же самое с чувством, с толком, с расстановкой.