Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
Кирилл ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.039 c
11-1082976944
nester
2004-04-26 14:55
2004.11.28
А куда делся OnException?


1-1100165052
Dima
2004-11-11 12:24
2004.11.28
Как менять цвет модальной формы ?


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


1-1100357871
k@rt
2004-11-13 17:57
2004.11.28
Работа с командной строкой


1-1100290519
ForeSt
2004-11-12 23:15
2004.11.28
EDIT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский