Forth
http://www.fforum.winglion.ru/

баг-не-баг, но неприятность
http://www.fforum.winglion.ru/viewtopic.php?f=25&t=2545
Страница 8 из 9

Автор:  mOleg [ Вт май 11, 2010 17:48 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Теперь хоть понятно где ошибка.

Оно и раньше было видно, просто я запускаю из консоли, поэтому все ошибки видны, даже если процесс завершается сразу.

Автор:  mOleg [ Вт май 11, 2010 17:51 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Это почему это? Чаще всего это просто не найден файл, или очепятка где нибудь,что тут сильно критического.

потому и критично, что ошибка инициализации (то есть не все "службы" еще подняты).
Что делать, если ошибка в таком месте не ясно, т.к. по ошибке все источники автоматом закрываются, кроме того, такая ошибка будет появляться регулярно, так стоит ли переделывать логику системы для такого случая?

Автор:  _Harry [ Вт май 11, 2010 17:57 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

mOleg писал(а):
_Harry писал(а):
Теперь хоть понятно где ошибка.

Оно и раньше было видно, просто я запускаю из консоли, поэтому все ошибки видны, даже если процесс завершается сразу.

Ага ты наверно из ndn и запускаешь. А у меня несколько ярлычков от bat-файлов на рабочем столе.
Кстати так GUI-шные окошки оказываются на верху при запуске, а вот если из консоли их никак не заставить это сделать.

Автор:  _Harry [ Вт май 11, 2010 18:02 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

mOleg писал(а):
так стоит ли переделывать логику системы для такого случая?
Дык у тебя такая логика и при трансляции других файлов например из командной строки.
Но если честно это не так страшно. А вот то что ини файл молча закрывался было неудобно.

Автор:  _Harry [ Вт май 11, 2010 18:33 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

Кстати еще одна странность:
Код:
SOURCE-NAME TYPE .( - подключен\n\r)

Выводит вот такое:
Код:
C:\fork\proj1/    .ini- подключен

Имя почему то заполнено пробелами. Если слово SOURCE-NAME вызывается не первый раз.
Т.е. если это в самом начале файла то имя нормально выводится.
:?: :?: :?: и это только при трансляции fork.ini происходит :?: :?: :?:
в других файлах все ок.

Автор:  mOleg [ Вт май 11, 2010 18:50 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Ага ты наверно из ndn и запускаешь.

именно!

_Harry писал(а):
Кстати так GUI-шные окошки оказываются на верху при запуске, а вот если из консоли их никак не заставить это сделать.

можно, но хитро.
нужно хитрым способом определить id консольного окна, потом "вытащить" его наверх.

_Harry писал(а):
Кстати еще одна странность

странно, у мя такого не вылазит.
вообще, это означает, что кто-то не туда лезет, совсем не туда, куда можно лезть...

Автор:  _Harry [ Вт май 11, 2010 21:29 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

mOleg писал(а):

_Harry писал(а):
Кстати еще одна странность

странно, у мя такого не вылазит.

Попробуй в fork.ini сделать.
Код:
SOURCE-NAME TYPE CR SOURCE-NAME TYPE CR
Точно не вылазит :?:

Просто у тебя в fork.ini не подключены те самые библиотеки которые
используют SOURCE-NAME. Пока что это не мешает так как используется
только путь без имени, но бог его знает чем это может обернуться.
явно что то не совсем так как задумывалось. :!: :?:

Автор:  mOleg [ Ср май 12, 2010 04:12 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Точно не вылазит

D:\fork\src-104>fork.exe
mOleg kernel fork(mOlegg@ya.ru). build from SPF4.17 sources.
windows Version 4.10 Build 317 at 11.May.2010

fork.ini included
D:\fork\src-104/fork.ini
D:\fork\src-104/fork.ini

Точно не вылазит. Вставлял и в начало, и в середину и в конец.

_Harry писал(а):
Попробуй в fork.ini сделать.

именно его и мучил.

_Harry писал(а):
Пока что это не мешает так как используется только путь без имени, но бог его знает чем это может обернуться.явно что то не совсем так как задумывалось.

да, не должно быть.

Автор:  _Harry [ Ср май 12, 2010 09:46 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

Я тут ночью посидел...
Вобщем дело в словах rel/ и коротких путях определенных через rel-path:
это эфект появляется после их использования.
mOleg писал(а):
Попробуй в fork.ini сделать.

Похоже дело не в ini просто именно в нем у меня использовалось rel/
Ща посмотрю поподробнее что не так.

Автор:  _Harry [ Ср май 12, 2010 12:39 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Похоже дело не в ini просто именно в нем у меня использовалось rel/
Ща посмотрю поподробнее что не так.

Похоже нашел! Это CUT-PATH виноват.

Код:
\ из строки "path\name" выделить строку "path\"
: CUT-PATH ( asc # --> asc #1 )
           OVER +
           BEGIN DDUP = WHILENOT
                 DUP C@ is_path_delimiter WHILENOT
               <C
            REPEAT DUP C# +
           THEN DUP OFF OVER - ; \! <<<< OFF затирает имя

Фактически затирается нулем 4 байта что ни есть гут
Код:
\ из строки "path\name" выделить строку "path\"
: CUT-PATH ( asc # --> asc #1 )
           OVER +
           BEGIN DDUP = WHILENOT
                 DUP C@ is_path_delimiter WHILENOT
               <C
            REPEAT DUP C# +
           THEN OVER - ; \! попробовал так

Система собралась и работает . Имя не затирается правда строка не сишная но оно сильно надо?
Если этот ноль в конце сильно нужен (кстати надо не OFF а один символ).
то можно сделать так:
Код:
\ из строки "path\name" выделить строку "path\"
: GET-PATH ( asc # --> asc #1 )
           OVER +
           BEGIN DDUP = WHILENOT
                 DUP C@ is_path_delimiter WHILENOT
                 <C
            REPEAT DUP C# +
           THEN
           OVER - ;
и его использовать в билиотеках path.fts и т.д.
я сначала так сделал чтобы ядро не трогать.
Усе :arrow:

Автор:  mOleg [ Ср май 12, 2010 16:58 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Похоже нашел! Это CUT-PATH виноват.

Да, действительно 8) спасибо за "находку"
без OFF там действительно можнонужно обойтись.
конечно, хочется, чтобы строка оканчивалась нулем, ну да ладно.

Правочку внес в ядро (в следующей сборке не будет), пока перевыкладывать не буду.

Автор:  _Harry [ Ср май 12, 2010 18:34 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

mOleg писал(а):
конечно, хочется, чтобы строка оканчивалась нулем, ну да ладно.
Думаю достаточно предупредит в коментариях об этом.
mOleg писал(а):
пока перевыкладывать не буду.
Тогда наверное надо выложить хотя бы здесь на форуме и дать сылочку на правильный код CUT-PATH :?:

Автор:  mOleg [ Ср май 12, 2010 19:14 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

_Harry писал(а):
Тогда наверное надо выложить хотя бы здесь на форуме и дать сылочку на правильный код CUT-PATH


\ из строки "path\name" выделить строку "path\"
: CUT-PATH ( asc # --> asc #1 )
OVER +
BEGIN DDUP = WHILENOT
DUP C@ is_path_delimiter WHILENOT
<C
REPEAT DUP C# +
THEN OVER - ;

так вобщем-то ты сам и исправил ;)

Автор:  _Harry [ Вс апр 08, 2012 10:29 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

Я имею виду ссылочку там где сборки выложены

Автор:  WingLion [ Вс апр 08, 2012 10:31 ]
Заголовок сообщения:  Re: баг-не-баг, но неприятность

То ли я чего не понял, то ли то что в этой теме обсуждалось, успешно забыто в последней сборке...

в папке fork-a создаю подпапку test1
в подпапке test1 создаю файл test.f
В нем одна строчка:
Код:
: tt s" test1/test.f загружен " TYPE ; tt


из корневой папки форка запускаю
fork.exe test1\test.f

получаю
fork.ini included
test1/test.f загружен
FORTH(0)>



нормально

Теперь захожу в папку test1
и запускаю
..\fork.exe test.f

получаю

fork.ini included

Источник: Command line
В строке: 1:24
"D:\_fork\fork.exe" test.f
Ошибка: Не удается найти указанный файл.


FORTH(0)>


то же, что было год назад... :(

Страница 8 из 9 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/