Вниз
Скачать: 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.023 c
1-1122992600
Aleksandr.
2005-08-02 18:23
2005.08.21
Как убрать мерцание при раскраске текста в TRichEdit?


1-1122644308
Destroyer
2005-07-29 17:38
2005.08.21
Как из статического массива сделать динамический?


3-1121240086
Stanislav
2005-07-13 11:34
2005.08.21
Timeout при выполнении ХП


1-1122620023
serjufa
2005-07-29 10:53
2005.08.21
Метод Activate из класса Range завершен неверно


4-1120037901
Juice
2005-06-29 13:38
2005.08.21
доставка почты с сервера ( OLE Outlook )




   Наверх