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

Вниз

Почему в Windows 98/Me енто не работает?   Найти похожие ветки 

 
Starcom   (2005-07-27 21:51) [0]

Привет Мастера!

У меня такой вопрос >>>

Почему в Windows 98/Me енто не работает:

Procedure TForm1.FormActivate(Sender: TObject);
begin
 if GetOsTypInfo = "Windows NT"
 then
  begin
   Form1 := TForm1.Create(Self);
    try
     with Form1 do
      begin
       ShowModal;
       Hide;
      end;
     finally
       Form1.Free;
    end;//try
  end
 else InfoDlg("Только под Windows NT и XP!!!");
end;

С Уважением Starcom! ;-()


 
Vudu   (2005-07-27 22:25) [1]

а может лутше сделать так&
if .. <> .. then
begin
InfoDlg("Только под Windows NT и XP!!!");
 close;
end;


 
Starcom   (2005-07-27 23:41) [2]

Vudu   (27.07.05 22:25) [1]

Попробовал. Как бутто в коде ентого нет! Программа запускается в Вин 98
а определения версии и вывод сообщения не происходит!

Что не так! Надо чтобы если в вин 98 запустили вышла инфа
а в нт/хп всё работало!


 
DiamondShark ©   (2005-07-27 23:45) [3]


>  if GetOsTypInfo = "Windows NT"

Где ты такую функцию откопал?


 
ЮЮ ©   (2005-07-28 03:06) [4]

Procedure TForm1.FormActivate(Sender: TObject);
begin
if GetOsTypInfo = "Windows NT"
then
 begin
  Form1 := TForm1.Create(Self);
   try
    with Form1 do
     begin
      ShowModal;
      Hide;
     end;
    finally
      Form1.Free;
   end;//try
 end
else InfoDlg("Только под Windows NT и XP!!!");
end;

Как, интересно, можно вызвать обработчик ещё не созданной формы.
Или зачем на Form1 натягивать ещё одну Form1. Почему это нужно только в NT даже не спрашиваю :)


 
Джо ©   (2005-07-28 03:30) [5]


> Почему это нужно только в NT даже не спрашиваю :)

А это сурпрыз для пользователей продвинутых платформ :)


 
ЮЮ ©   (2005-07-28 03:37) [6]

А понял, в Win98 gdi ресурсы сильно ограничены, поэтому "пакет" рекурсивно создающихся форм будет не столь впечатлителен, как на продвинутых платформах :)


 
Джо ©   (2005-07-28 03:47) [7]


>  [6] ЮЮ ©   (28.07.05 03:37)
> А понял, в Win98 gdi ресурсы сильно ограничены, поэтому
> "пакет" рекурсивно создающихся форм будет не столь впечатлителен,
> как на продвинутых платформах :)

Угу. Уж если сбоить - так с музыкой :)))


 
Шутник   (2005-07-28 04:46) [8]

Почему в Windows 98/Me енто не работает:

А как оно должно работать.


 
Starcom   (2005-07-29 10:48) [9]

Парни ну вы сразу поболдели а конкретику я вам преподнесу:

В своей проге я использую некий сервис от win.nt/xp
и хочу чтобы ламер win98/9x был информирован при запуске
проги, что она тилько це Win NT/XP но не только инфой
но и прога определив ось завершала свою работу?

Если есть чем помочь то буду примного благодарен!


 
Рамиль ©   (2005-07-29 11:34) [10]

Procedure TForm1.FormActivate(Sender: TObject);
begin
if GetOsTypInfo <> "Windows NT" then // И вообще, надо бы код функции привести
begin
 ShowMessage("Только под Windows NT и XP!!!");
 Application.Terminate;
end;
end;


 
Starcom   (2005-07-29 16:24) [11]

Рамиль ©   (29.07.05 11:34) [10]

Невижу препятствий...
Правда непомню где я её взял, гдето в инете :)))

function GetOSTypInfo : String;
begin
 OsVersionInfo.dwOSVersionInfoSize  := SizeOf(TOsVersionInfo);
 GetVersionEx(OsVersionInfo);
 case OsVersionInfo.dwPlatformId of
   VER_PLATFORM_WIN32s        : Result := "Windows 3.x";
   VER_PLATFORM_WIN32_WINDOWS : begin
                                  GetVersionEx(OsVersionInfo);
                                  if (OsVersionInfo.dwMajorVersion = 4) and
                                     (OsVersionInfo.dwMinorVersion > 9) then
                                    Result := "Windows 98"
                                  else
                                    Result := "Windows 95"
                                end;
   VER_PLATFORM_WIN32_NT      : Result := "Windows NT";
 end;
end;

С Уважением Starcom! :)


 
Starcom   (2005-07-29 17:36) [12]

Пацаны! Что молчим, форум без вас Грустит! :(


 
Starcom   (2005-07-29 20:57) [13]

Але!


 
Джо ©   (2005-07-29 20:58) [14]


>  [12] Starcom   (29.07.05 17:36)

Чего раскричался-то?


 
Джо ©   (2005-07-29 20:59) [15]


> [13] Starcom   (29.07.05 20:57)

Тебе ведь указали на грубейшие ошибки в твоем коде, не так ли? Надо полагать, выводы не сделал?


 
Anatoly Podgoretsky ©   (2005-07-29 22:51) [16]

Полагаю, что нет.


 
Джо ©   (2005-07-29 22:59) [17]

В файле проекта сделай первой строчкой после begin:

Assert (GetOsTypInfo = "Windows NT","Только для Windows NT");


или

if GetOsTypInfo = "Windows NT" then
begin
 MessageDlg ("Только для Windows NT",mtError,[mbOK],-1);
 Halt(1);  
end;



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

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

Наверх




Память: 0.51 MB
Время: 0.053 c
1-1123005272
iskatel
2005-08-02 21:54
2005.08.21
прокси


4-1120018732
leonidus
2005-06-29 08:18
2005.08.21
Как отследить момент отпускания левой клавиши мыши?


4-1117836874
Вадим Станкевич
2005-06-04 02:14
2005.08.21
Как отловить открытие/закрытие дверцы CD-ROM?


1-1122897593
JIuradfsd
2005-08-01 15:59
2005.08.21
Как сделать прерывание цикла в программе при нажатии на кнопку?


14-1122613410
Rentgen
2005-07-29 09:03
2005.08.21
АвтоПереименование в IDE Delphi