Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2011, 13:25   #11
cleaner_it
 
Регистрация: 13.02.2011
Сообщений: 4
По умолчанию

Все уже придумано до нас Вот тут

Код:
type
  LPFN_ISWOW64PROCESS = function(hProcess: THandle; var Wow64Process: BOOL): BOOL; stdcall;

function IsWow64: Boolean;
var
  fnIsWow64Process: LPFN_ISWOW64PROCESS;
  bIsWow64: BOOL;
begin
  Result := False;
  fnIsWow64Process := LPFN_ISWOW64PROCESS(GetProcAddress(GetModuleHandle('kernel32'), 'IsWow64Process'));
  if Assigned(fnIsWow64Process) then
  begin
    bIsWow64 := False;
    if fnIsWow64Process(GetCurrentProcess(), bIsWow64) then
      Result := bIsWow64;
  end;
end;
cleaner_it вне форума Ответить с цитированием
Старый 28.09.2011, 14:09   #12
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

а если воспользоваться дерективой
Код:
{$ifdef _WIN64}
{$ENDIF}
fate вне форума Ответить с цитированием
Старый 28.09.2011, 14:42   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а если воспользоваться дерективой
А вот тогда вопрос - версия Делфи какая?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2011, 15:18   #14
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Цитата:
версия Делфи какая?
у меня delphi 7
fate вне форума Ответить с цитированием
Старый 28.09.2011, 16:52   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
fate
Ну я допустим знаю что в VS такая директива есть... А в Делфи... Тем паче 7-ке...
А где эта директива описана? Вернее этот параметр _WIN64?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2011, 16:55   #16
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

ну я не знаю где он описан, но попробовал заключил код в эту дерективу и он не отработал у меня 32, у кого 64 попробуйте.
fate вне форума Ответить с цитированием
Старый 01.10.2011, 09:15   #17
cleaner_it
 
Регистрация: 13.02.2011
Сообщений: 4
По умолчанию

В Delphi 2010 код отработал нормально. При переносе приложения на платформу x86 все тоже корректно отрабатывается
Код:
  
{$ifdef _WIN64}
//Это 64 битная система
{$ELSE}
//Это 32 битная система
{$ENDIF}
upd 2011-10-02
Похоже, это немного не то. Выяснил, что на 64-битной системе 32-битное приложение (Делфи 2010 других не создает) всегда использует блок {$ELSE}.

Последний раз редактировалось cleaner_it; 02.10.2011 в 05:54. Причина: результаты тестирования
cleaner_it вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить тактовою частоту процессора и узнать название активной видеокарты и объём памяти SalasAndriy C++ Builder 7 14.04.2012 16:17
Разрядность ОСи x86/x64 Veiron Win Api 11 13.12.2010 17:26
разрядность кода satanatas Помощь студентам 4 11.01.2008 18:15
Загрузка процессора Terran Общие вопросы Delphi 1 15.12.2007 22:27
Delphi 6 - Программа должна узнать уровень загруженности процессора Никки Общие вопросы Delphi 3 20.11.2007 19:40