Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Sep 22, 2019 12:54 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 126 posts ]  Go to page Previous 1 2 3 4 59 Next
Author Message
PostPosted: Mon Apr 02, 2018 11:47 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
У нас многомерное общение больше похожее на чят :)

0CodErr
Ты можешь пофиксить @open ?
Пока писал сообщение психанул и пофиксил сам #7217.

_________________
Через тернии к звездам


Top
   
PostPosted: Wed Apr 04, 2018 10:57 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
tsdima, у меня тоже есть проблема с libimg.
Обычно выполнение заканчивается вылетом примерно после
Code:
EIP    = $0000017E; EAX    = $00000044; EBX    = $00000014; ECX    = $00000464
EDX    = $00000000; ESI    = $00000464; EDI    = $0414A18C; EBP    = $0412FDF0
ESP    = $0412FDE4; EFLAGS = $00010202
HeapReallocate(MemPtr:$00000000, Bytes:1124)
Я не учёл, что KolibriOS.HeapReallocate работает иначе, чем Windows.HeapRealloc
Quote:
======================================================================
======= Function 68, subfunction 20 - reallocate memory block. =======
======================================================================
Parameters:
* eax = 68 - function number
* ebx = 20 - subfunction number
* ecx = new size in bytes
* edx = pointer to already allocated block
Returned value:
* eax = pointer to the reallocated block, 0 = error
Remarks:
* Before this call one must initialize process heap by call to
subfunction 11.
* The function allocates an integer number of pages (4 Kb) in such
way that the real size of allocated block is more than or equal to
requested size.
* If edx=0, the function call is equivalent to memory allocation
with subfunction 12. Otherwise the block at edx
must be allocated earlier with subfunction 12 or this subfunction.
* If ecx=0, the function frees memory block at edx and returns 0.
* The contents of the block are unchanged up to the shorter of
the new and old sizes.
Программа ожидала выделения памяти, а его не произошло.


Top
   
PostPosted: Wed Apr 04, 2018 2:23 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
Сделал рудиментарную поддержку сети. WebView уже работает. Почему-то не работают Downloader и NsInstall. Вобщем, глючно пока, но куда копать - непонятно.


Top
   
PostPosted: Wed Apr 04, 2018 11:00 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
tsdima wrote:
Сделал рудиментарную поддержку сети. WebView уже работает.
А у меня, не работает.

Вот скрин:

Image
Полный лог из терминала:
Spoiler: Show
Code:
~/.kex $ ./kex "root/RD/1/File Managers/EOLITE"
02.00000AEF: mcall 37, 0x4, 0x24C4, 0x1
02.00000B19: mcall 37, 0x5, 0x0, 0x0
<html> found
Document has no information about encoding, UTF will be used
02.00000B08: mcall 37, 0x5, 0x25, 0x0
02.00000B19: mcall 37, 0x5, 0x0, 0x0
Usage: nmcli device { COMMAND | help }

COMMAND := { status | show | connect | reapply | disconnect | delete | monitor | wifi | lldp }

  status

  show [<ifname>]

  set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]

  connect <ifname>

  reapply <ifname>

  disconnect <ifname> ...

  delete <ifname> ...

  monitor <ifname> ...

  wifi [list [ifname <ifname>] [bssid <BSSID>]]

  wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>]
                         [bssid <BSSID>] [name <name>] [private yes|no] [hidden yes|no]

  wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] [channel <channel>] [password <password>]

  wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]

  lldp [list [ifname <ifname>]]

Error: 'dev' command 'list' is not valid.
Contacting DNS server failed with EAI code: 00000004
HTTP GET error!
bufsize: 0
02.00000B19: mcall 37, 0x5, 0x0, 0x0
<html> found
cur_encoding    : 6
set_new_encoding: 5

Ещё заметил, что во время запуска OPENDIAL, в терминале почему-то выводятся сообщения о ненайденных файлах .obj. Но эти файлы присутствуют.

Вот скрин:

Image

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Wed Apr 04, 2018 11:31 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5061
Снова регистр?

_________________
Через тернии к звездам


Top
   
PostPosted: Thu Apr 05, 2018 12:16 am 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
Leency wrote:
Снова регистр?
На гитхабе написано:
[github] tsdima wrote:
case insensitive file search
Это-то и странно. Пробовал со ссылкой и без. Результат, в обоих случаях, тот же.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Thu Apr 05, 2018 1:10 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
JohnXenox wrote:
Ещё заметил, что во время запуска OPENDIAL, в терминале почему-то выводятся сообщения о ненайденных файлах .obj. Но эти файлы присутствуют.
Вообще-то тех файлов не должно быть в папке File managers. Если только ты их сам туда не положил.
А так OpenDialog сперва ищет библиотеки в своей папке и, если не находит, то как обычно в /sys/lib.
Странная логика, как мне кажется, ведь это же системные библиотеки и они должны быть как раз в /sys/lib, а не в папке с программой.


Top
   
PostPosted: Thu Apr 05, 2018 3:58 am 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
0CodErr wrote:
Вообще-то тех файлов не должно быть в папке File managers. Если только ты их сам туда не положил.
Нет в папке с OPENDIAL их нет, и туда их не клал. Я имел ввиду, что файлы присутствуют в принципе, в частности в папке ~/.kex/root/RD/1/LIB.
0CodErr wrote:
А так OpenDialog сперва ищет библиотеки в своей папке и, если не находит, то как обычно в /sys/lib.
Странная логика, как мне кажется, ведь это же системные библиотеки и они должны быть как раз в /sys/lib, а не в папке с программой.
Вот и мне, кажется это странным. Файлы есть, а ворнинги всё-равно выводятся.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Thu Apr 05, 2018 9:45 am 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
JohnXenox wrote:
Файлы есть, а ворнинги всё-равно выводятся.

Предупреждения выводятся при попытке загрузить библиотеку. Я же не виноват, что OpenDialog ищет их сначала в текущем каталоге. Обычно, если программа грузит библиотеку, но её нет, то это что-то не совсем обычное, поэтому я и вывожу предупреждение. В данном случае можно игнорировать эти сообщения.

По поводу nmcli: я подозревал, что на других дистрибутивах могут быть другие параметры, или другой формат вывода. Но другого способа получить адрес DNS и gateway (причём полученный по DHCP) я пока не нашёл. Без адреса DNS сеть работает, но толку мало. Можно попытаться задать статическую конфигурацию в network.ini и запустить @zeroconf, а потом посмотреть, что выдаёт netstat. Если получится установить адрес DNS, то сеть должна заработать.


Top
   
PostPosted: Thu Apr 05, 2018 12:16 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
Попробовал вышеописанный метод - пришлось кое-что пофиксить. Теперь статическую конфигурацию можно задавать в network.ini и запускать @zeroconf.


Top
   
PostPosted: Fri Apr 06, 2018 4:13 am 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
tsdima wrote:
Предупреждения выводятся при попытке загрузить библиотеку. Я же не виноват, что OpenDialog ищет их сначала в текущем каталоге.
Тебя никто, ни в чём, не обвиняет. Я просто указал на неправильное, с моей точки зрения, поведение эмулятора, которое вводит в заблуждение. И если эмулятор делает какие-то неправильные или странные вещи, то это, либо недоработка, либо личные предпочтения автора эмулятора.

На мой вгляд, неправильно выводить в терминал далеко некритические сообщения, в то время, когда программа OPENDIAL, по существу, имеет все необходимые файлы для удавлетворения своих потребностей и корректной работы. Кстати сама программа, в Колибри, в такой ситуации, ворнинги не выводит, что вполне логично.
tsdima wrote:
Обычно, если программа грузит библиотеку, но её нет, то это что-то не совсем обычное, поэтому я и вывожу предупреждение.
Когда библиотеки нигде нет, не найдена - это да. Но когда библиотека есть и/или найдена, в одной из директорий прописанных в программе, то это нормальная ситуация. Программа проверяет все директории, которые в ней прописаны, на наличие нужной библиотеки, и если библиотека найдена, запускается, а если нет, то выбрасывает ворнинг. К тому же, эмулятор не должен ничего решать за программу, которую он эмулирует. Если программа не выбрасывает ворнинг, то и эмулятор, не должен за неё это делать.
tsdima wrote:
В данном случае можно игнорировать эти сообщения.
Хорошо, буду игнорировать.
tsdima wrote:
По поводу nmcli: я подозревал, что на других дистрибутивах могут быть другие параметры, или другой формат вывода. Но другого способа получить адрес DNS и gateway (причём полученный по DHCP) я пока не нашёл. Без адреса DNS сеть работает, но толку мало. Можно попытаться задать статическую конфигурацию в network.ini и запустить @zeroconf, а потом посмотреть, что выдаёт netstat. Если получится установить адрес DNS, то сеть должна заработать.
Ясно.

P.S. Прошу бурно не реагировать на моё сообщение. Я просто выложил своё видение по этому поводу.

_________________
The Glass is Always Half Full! :mrgreen:


Last edited by JohnXenox on Fri Apr 06, 2018 4:34 am, edited 2 times in total.

Top
   
PostPosted: Fri Apr 06, 2018 4:16 am 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
tsdima wrote:
Попробовал вышеописанный метод - пришлось кое-что пофиксить. Теперь статическую конфигурацию можно задавать в network.ini и запускать @zeroconf.
Позже попробую, но не уверян, что что-то получится. Я в этом полный нуб.

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Fri Apr 06, 2018 9:16 am 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
JohnXenox wrote:
На мой вгляд, неправильно выводить в терминал далеко некритические сообщения

Ну, поначалу, сообщение о ненайденной библиотеке было критичным :)
Можно убрать это сообщение, но тогда будет непонятно, почему не работает программа, если библиотеки действительно нет. Не все программы ругаются, если не нашли библиотеку.

В последней версии работает pcidev. Заметил, что есть программы, которые требуют наличия /tmp0/1, так что каталог ~/.kex/root/TMP0/1 тоже нужно создавать. В Колибри это делается запуском launcher-a, но он запускает кучу ненужных эмулятору вещей (например @zeroconf, в эмуляторе не нужно запрашивать dhcp, оно сейчас и не работает, поэтому адрес получается случайный, работает только статическая конфигурация, но в kolibri.img по-умолчанию стоит auto).

Можно сделать, чтобы эмулятор сам создавал /tmp0/1, но сколько ещё таких костылей будет? Нужно ли это делать? С одной стороны, человек, мало знакомый с Колибри ОС не догадается сам это сделать, но с другой стороны, если бы не было запуска tmpdisk в autorun.dat, то поведение программ, требующих /tmp0/1, мало чем отличалось бы.


Top
   
PostPosted: Sun Apr 08, 2018 10:11 pm 
Offline
User avatar

Joined: Thu May 18, 2017 2:29 am
Posts: 170
tsdima wrote:
Ну, поначалу, сообщение о ненайденной библиотеке было критичным :)
Можно убрать это сообщение, но тогда будет непонятно, почему не работает программа, если библиотеки действительно нет. Не все программы ругаются, если не нашли библиотеку.
Задача эмулятора Колибри - это как можно точнее эмулировать работу Колибри, а не улучшать, профилировать или отлаживать программу, которая эмулируется. Если программа не ругается, то это только проблема программы. Но с программой OPENDIAL другой случай, у неё функция ругани есть, и она срабатывает только в действительно критической ситуации. А у тебя эмулятор ругается за саму программу, в то время, когда у программы никакой критической ситуации нет. Конечно, другое дело, если это сделано в целях отладки эмулятора.
tsdima wrote:
В последней версии работает pcidev.
Отлично. :D
tsdima wrote:
Заметил, что есть программы, которые требуют наличия /tmp0/1, так что каталог ~/.kex/root/TMP0/1 тоже нужно создавать. В Колибри это делается запуском launcher-a, но он запускает кучу ненужных эмулятору вещей (например @zeroconf, в эмуляторе не нужно запрашивать dhcp, оно сейчас и не работает, поэтому адрес получается случайный, работает только статическая конфигурация, но в kolibri.img по-умолчанию стоит auto).

Можно сделать, чтобы эмулятор сам создавал /tmp0/1, но сколько ещё таких костылей будет? Нужно ли это делать? С одной стороны, человек, мало знакомый с Колибри ОС не догадается сам это сделать, но с другой стороны, если бы не было запуска tmpdisk в autorun.dat, то поведение программ, требующих /tmp0/1, мало чем отличалось бы.
Я думаю, так как директория /rd/1 создаётся вручную, то /tmp0/1, тоже должна создаваться вручную. А пользователя, можно предупредить на github.

Что-то вроде:
Quote:
Для некоторых программ Колибри требуется директория /tmp0/1.
Чтобы создать директорию /tmp0/1, введите в терминале:

cd ~/.kex/root && mkdir tmp0 && mkdir tmp0/1

_________________
The Glass is Always Half Full! :mrgreen:


Top
   
PostPosted: Mon Apr 09, 2018 5:29 pm 
Offline

Joined: Wed Mar 26, 2008 12:44 pm
Posts: 225
Сделал максимизацию по двойному клику на заголовке. Растягивание окон тоже должно работать, т.к. теперь оно делается ещё и вручную (т.е. независимо от оконного менеджера). Делается не совсем так, как в реальной Колибри, но лучше уж так, чем совсем никак.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 126 posts ]  Go to page Previous 1 2 3 4 59 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited