Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: -0.976 c
4-1119809266
andrew_john
2005-06-26 22:07
2005.08.21
Уменьшение задержки


4-1116520464
kat
2005-05-19 20:34
2005.08.21
Панель Инструментов


1-1122537926
Choovak
2005-07-28 12:05
2005.08.21
Зашифровать файл


14-1121602423
Blaster
2005-07-17 16:13
2005.08.21
Delphi 2005 - стоитли пробовать?


1-1123021095
АскЮ
2005-08-03 02:18
2005.08.21
Как правильно расчленить большой проект на классы и модули ?




   Наверх