OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 18:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Linux and Windows version in Dialog
СообщениеДобавлено: Четверг, 05 Сентябрь, 2013 21:35 

Зарегистрирован: Суббота, 24 Август, 2013 08:57
Сообщения: 81
In Module Dialog there are the definition about OS version. Some of them are obsolete and some are missing. Another problem is that are not enough number free between 10 and 19 to define Windows 7 and Windows 8. Should we delete the obsolete numbers? Should we renumber the windows definition? Which number should we assign? Note: BlackBox 1.6 does not run on Windows 32s, Windows 95 & 98.

windows32s = 11; -- obsolete
windows95 = 12; -- obsolete
windowsNT3 = 13; -- obsolete
windowsNT4 = 14; -- obsolete
windows2000 = 15; -- obsolete
windows98 = 16; -- obsolete
windowsXP = 17;
windowsVista = 18;
windows7 = ???; -- missing
windows8 = ???; -- missing
macOS = 21;
macOSX = 22;
linux = 30;
tru64 = 40;
wine = ???; -- missing


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Пятница, 06 Сентябрь, 2013 01:10 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Just an example of the possible solution.
Код:
MODULE i21sysInfo;
(* 2010-10-18 Е.Э.Темиргалеев -- выделено из i21sysCalls для корректной работы под wine+linux *)

  IMPORT Dialog, WinApi, HostDialog;

  CONST  (* из Dialog *)
    windows32s* = 11;
    windows95* = 12;
    windowsNT3* = 13;
    windowsNT4* = 14;
    windows2000* = 15;
    windows98* = 16;
    windowsXP* = 17;
    windowsVista* = 18;
    macOS* = 21;
    macOSX* = 22;
    linux* = 30;
    tru64* = 40;
 
  CONST
    wine* = 17.5;

  VAR
    platform*: REAL;  (* REAL, because there are not enough number free between 10 and 19 *)

  PROCEDURE Init;
    VAR  h: WinApi.HMODULE; adr: WinApi.FARPROC; res: WinApi.BOOL;
  BEGIN
    (* Dialog.platform is initalized by HostDialog *)
    platform := Dialog.platform; ASSERT(platform # 0, 100);
    (* http://habrahabr.ru/blogs/development/76131/ *)
    h := WinApi.LoadLibrary("ntdll.dll");
    IF h # WinApi.NULL THEN
      adr := WinApi.GetProcAddress(h, "wine_get_version");
      IF adr # NIL THEN platform := wine END;
      res := WinApi.FreeLibrary(h)
    END
  END Init;

BEGIN
  Init
END i21sysInfo.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Понедельник, 04 Ноябрь, 2013 19:20 

Зарегистрирован: Суббота, 24 Август, 2013 08:57
Сообщения: 81
In the CPC Edition I changed the definition to:

CONST
windows98* = 11;
windowsNT3* = 12;
windowsNT4* = 13;
windows2000* = 14;
windowsXP* = 15;
windowsVista* = 16;
windows7* = 17;
windows8* = 18;
wine* = 19;
macOS* = 21;
macOSX* = 22;
linux* = 30;
tru64* = 40;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Вторник, 05 Ноябрь, 2013 15:26 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Zinn писал(а):
In the CPC Edition I changed the definition to:

CONST
windows98* = 11;
windowsNT3* = 12;
windowsNT4* = 13;
windows2000* = 14;
windowsXP* = 15;
windowsVista* = 16;
windows7* = 17;
windows8* = 18;
wine* = 19;
macOS* = 21;
macOSX* = 22;
linux* = 30;
tru64* = 40;


Bad idea because windows is determined in BlackBox by operation DIV 10 and 19 become Windows, however Wine is not windows!

For example StdLinks sources:
Код:
IF Dialog.platform DIV 10 = 1 THEN (* Windows *)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Вторник, 05 Ноябрь, 2013 22:26 

Зарегистрирован: Суббота, 24 Август, 2013 08:57
Сообщения: 81
Sorry, I'm not agree. Wine is a Windows emulator. So it should work like Windows.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Вторник, 05 Ноябрь, 2013 22:43 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Zinn писал(а):
Sorry, I'm not agree. Wine is a Windows emulator. So it should work like Windows.

There are no some fonts in Wine... however in much more cases you are right.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Вторник, 05 Ноябрь, 2013 23:12 

Зарегистрирован: Суббота, 24 Август, 2013 08:57
Сообщения: 81
The statement is used in

(1)
DevRBrowser
IF (Dialog.platform DIV 10 = 1) OR (Dialog.platform = Dialog.linux) THEN (* some Windows variant or Linux *)

Here works Wine like Windows.

(2)
StdFolds & StdLinks
IF Dialog.platform DIV 10 = 1 THEN (* Windows *)
iconFont := "Wingdings";

If the font Wingdings does not exist then the program uses the DefaultAppearance.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Среда, 06 Ноябрь, 2013 21:33 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Иван Денисов писал(а):
Zinn писал(а):
In the CPC Edition I changed the definition to:

CONST
windows98* = 11;
windowsNT3* = 12;
windowsNT4* = 13;
windows2000* = 14;
windowsXP* = 15;
windowsVista* = 16;
windows7* = 17;
windows8* = 18;
wine* = 19;
macOS* = 21;
macOSX* = 22;
linux* = 30;
tru64* = 40;


Bad idea because windows is determined in BlackBox by operation DIV 10 and 19 become Windows, however Wine is not windows!

For example StdLinks sources:
Код:
IF Dialog.platform DIV 10 = 1 THEN (* Windows *)

IMO, GNU/Wine can be treated as a special version of Windows, i.e. minor version of Windows® in same manner as WindowsXP.
About several months ago ago I succeed to run BlackBox on ReactOS without any issues. This OS mimic Windows NT® architecture, so it can be safely treated as Windows OS in this list.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Пятница, 08 Ноябрь, 2013 16:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Ok, I agree. I think that it can be used any case, but in a little different manner.

Example for Wine StdFolds fix.
viewtopic.php?f=130&t=4612


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux and Windows version in Dialog
СообщениеДобавлено: Суббота, 09 Ноябрь, 2013 16:10 

Зарегистрирован: Суббота, 24 Август, 2013 08:57
Сообщения: 81
Have StdLink the same problem?
Are this problem also exist on the original BB 1.6?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB