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

Вниз

Приложение и система   Найти похожие ветки 

 
Кирилл ©   (2004-11-12 15:14) [0]

У меня есть несколько вопросов на эту тему:
1. Приложение, откомпилированное на Win98, некоректно работает на ХР, и наоборот. Как сделать, чтобы приложение нормально работало на всех виндусах?
2. Полноэкраннное приложение, написанное с помощью DirectX, нормально работает на 98, а на ХР происходит мельтешение и просвечивает экран, даже если откомпилировано на ХР. Почему?
3. Правда ли, что DirectX предназначен для написания приложений только под видеокарты nVidia, а OpenGL - под ATI?
Пожалуйста, помогите разобраться.


 
Ega23 ©   (2004-11-12 15:18) [1]

1. Приложение, откомпилированное на Win98, некоректно работает на ХР, и наоборот. Как сделать, чтобы приложение нормально работало на всех виндусах?

Боюсь, что в общем случае это невозможно, т.к. ядра систем разные.


 
VMcL ©   (2004-11-12 16:01) [2]

>>Кирилл ©  (12.11.04 15:14)

>2. Полноэкраннное приложение, написанное с помощью DirectX, нормально работает на 98, а на ХР происходит мельтешение и просвечивает экран, даже если откомпилировано на ХР. Почему?

Думаю, что без кода сложно будет что-либо подсказать.

>3. Правда ли, что DirectX предназначен для написания приложений только под видеокарты nVidia, а OpenGL - под ATI?

Нет.

>>Ega23 ©  (12.11.04 15:18) [1]

Я бы сказал, что как раз наоборот: в общем случае программа должна на всех Win32 работать одинаково, кроме случаев, когда использует всякие изощрения, применимые в какой-либо конретной версии Win.


 
Ega23 ©   (2004-11-12 16:07) [3]

Я бы сказал, что как раз наоборот: в общем случае программа должна на всех Win32 работать одинаково, кроме случаев, когда использует всякие изощрения, применимые в какой-либо конретной версии Win.

Дык в том-то и дело, что Вин32 в НТ и 98 - разные. Не так, чтобы очень сильно отличались, но я отличия встречал. Про драйвера вообще молчу. Про ДиректХ - не знаю, но подозреваю, что платформо-зависим. Помнится, когда-то давно устанавливал ДиректХ 5.0 для НТ - ещё тот гемор был.


 
REA   (2004-11-12 16:32) [4]

>Правда ли, что DirectX предназначен для написания приложений только под видеокарты nVidia, а OpenGL - под ATI?

Это сильно. Исходя из этой логики BDE заточено под винчестеры Maxtor, а ADO оптимизировано для Seagate.


 
Anatoly Podgoretsky ©   (2004-11-12 17:11) [5]

Ega23 ©   (12.11.04 15:18) [1]
А причем тут ядро, читай внимательно, откомпилированое на 98!!!, то есть тоже приложение, но откомпилированое на ХР работает.


 
begin...end ©   (2004-11-12 17:24) [6]

Anatoly Podgoretsky ©   (12.11.04 17:11) [5]

> А причем тут ядро, читай внимательно, откомпилированое
> на 98!!!, то есть тоже приложение, но откомпилированое
> на ХР работает
.

Читаем внимательно [0], и не находим в п.1 утверждения о том, что приложение, откомпилированное на XP, корректно работает на 98. Более того, написано: "Приложение, откомпилированное на Win98, некоректно работает на ХР, и наоборот.". "И наоборот" - в данном контексте я это понимаю так: "Приложение, откомпилированное на ХР, некорректно работает на Win98". А Вы?


 
Anatoly Podgoretsky ©   (2004-11-12 17:36) [7]

Привожу полную цитату

1. Приложение, откомпилированное на Win98, некоректно работает на ХР, и наоборот. К


 
Anatoly Podgoretsky ©   (2004-11-12 17:36) [8]

1. Приложение, откомпилированное на Win98, некоректно работает на ХР, и наоборот.


 
begin...end ©   (2004-11-12 17:39) [9]

Anatoly Podgoretsky ©   (12.11.04 17:36) [8]

И? Разве это не означает, что приложение, откомпилированное на XP, некорректно работает на Win98?


 
Кирилл ©   (2004-11-12 18:08) [10]


> Думаю, что без кода сложно будет что-либо подсказать.


Вот код:

Uses Direct3D;

...

Var
FD3D            : IDIRECT3D8;
FD3DDevice      : IDIRECT3DDEVICE8;

procedure Form1.InitD3D;
const
 fmtFullscreenArray : Array [0..4] of DWORD =
      (D3DFMT_R5G6B5,
       D3DFMT_X1R5G5B5,
       D3DFMT_A1R5G5B5,
       D3DFMT_X8R8G8B8,
       D3DFMT_A8R8G8B8);
var
 iFmt : Integer;
 FD3DfmtFullscreen : DWORD;
 ScreenWidth, ScreenHeight : Integer;
 d3dpp : TD3DPRESENT_PARAMETERS;
begin
 FD3D := Direct3DCreate8(D3D_SDK_VERSION);
 for iFmt := 0 to High(fmtFullscreenArray) do begin
     if( SUCCEEDED( FD3D.CheckDeviceType( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
           fmtFullscreenArray[iFmt], fmtFullscreenArray[iFmt], FALSE ) ) )
       then begin
           FD3DfmtFullscreen := fmtFullscreenArray[iFmt];
           Break;
       end
 end;

 ScreenWidth := GetSystemMetrics(SM_CXSCREEN);
 ScreenHeight := GetSystemMetrics(SM_CYSCREEN);

 ZeroMemory(@d3dpp, SizeOf(d3dpp));
 with d3dpp do begin
      Windowed := False;
      SwapEffect := D3DSWAPEFFECT_DISCARD;
      BackBufferWidth  := ScreenWidth;
      BackBufferHeight := ScreenHeight;
      BackBufferFormat := FD3DfmtFullscreen;
 end;

FD3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Handle,
                             D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                             d3dpp, FD3DDevice);
end;

procedure Form1.FormCreate(Sender: TObject);
begin
 InitD3D;
end;


P.S. Пожалуста разберитесь, очень нужно!


 
Кирилл ©   (2004-11-13 16:38) [11]

Я всё же ещё раз спрошу: почему это[10] не работает на ХР??
Неужели никто из великих мастеров не может помочь чайнику?


 
Anatoly Podgoretsky ©   (2004-11-13 17:04) [12]

begin...end ©   (12.11.04 17:39) [9]
Следует, это вторая часть цитаты "и наоборот", но хватает и первой, "откомпилированное на Win98, некоректно работает на ХР"


 
Кирилл ©   (2004-11-13 18:46) [13]


> Anatoly Podgoretsky ©   (13.11.04 17:04) [12]

Приложение, откомпилированное на Win98, некоректно работает на ХР, а приложение, откомпилированное на ХР, некоректно работает на Win98 (но не во всех случаях).

Однако, мне бы со вторым вопросом разобраться, он меня особенно интересует...


 
begin...end ©   (2004-11-13 20:35) [14]

Anatoly Podgoretsky ©   (13.11.04 17:04) [12]

Мы с Вами, наверное, говорим на разных языках.


 
Anatoly Podgoretsky ©   (2004-11-13 21:00) [15]

Зато я говорю с автором на одном языке, смотри его разъяснение за номером 11


 
begin...end ©   (2004-11-13 21:22) [16]

Anatoly Podgoretsky ©   (13.11.04 21:00) [15]

Вы с ним говорите на разных языках, см. его разъяснение за номером 13.



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

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

Наверх




Память: 0.51 MB
Время: 0.026 c
4-1097946522
Viper
2004-10-16 21:08
2004.11.28
Мышь


1-1100284015
Robin Hood
2004-11-12 21:26
2004.11.28
Как мне из строки достать название формы или кнопки для использов


1-1100245000
Семен
2004-11-12 10:36
2004.11.28
F :TextFile и поиск по нему


14-1099870319
Andy BitOff
2004-11-08 02:31
2004.11.28
Секретная страница форума.


3-1098803484
clickmaker
2004-10-26 19:11
2004.11.28
MS SQL, LPC & TCP/IP