Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн окт 15, 2018 8:37 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 196 сообщений ]  На страницу Пред. 110 11 12 13 14
Автор Сообщение
 Заголовок сообщения: Re: KolibriOS на производстве
СообщениеДобавлено: Чт сен 20, 2018 2:32 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1453
zero00m, интересная тема.
her-znayet-kto писал(а):
QUOTE (her-znayet-kto @ Sep 18 2018, 07:59 PM)
как запустить едитбокс - с цифирками (числовой) -
возможно ли его запустить, не используя dll ?

... а использование dll, в свою очередь, одним только
едит-боксом может вывести всю асутп
из разряда открытокодовых (открытоисходниковых) ...
(в лучшем случае - заставит изучать - дополнительно - какой-то
еще язык программирования, что друзьям паяльника,
макетки, флюса и олова мягко говоря крайне нежелательно) ...
Как вариант, можно полностью вкомпилировать этот EditBox в своё приложение.
Код библиотеки box_lib http://websvn.kolibrios.org/listing.php ... 6adea61bbb
Вот тема про библиотеку на нашем форуме viewtopic.php?f=24&t=1220

Я попробовал переделать один из своих примеров
Для сборки нужно:
    FASM
    C--
    LD
    OBJCOPY
    KolibriOS.Lib
    — можно скачать из темы Delphi7 examples

Вот что я сделал дальше:
Добавил в editbox.asm нужные константы и флаги.
Взял необходимые файлы:Собирается вот так
Код:
Set NAME=BuiltinEditBox
FASM editbox.asm
C-- %NAME%.c-- /w32 /sobj /COFF
LD -T LScript.x %NAME%.obj editbox.obj -o %NAME%.kex -L %KolibriOS% -l KolibriOS
OBJCOPY -O binary -j .all %NAME%.kex
Del %NAME%.obj
Pause
LScript.x — это линкер-скрипт для LD, вот его содержимое
Код:
PATH_SIZE   = 1024;
PARAMS_SIZE =  256;
STACK_SIZE  = 1024;

AppParams   = $END + PATH_SIZE;
AppPath     = $END;

SECTIONS
{
  .all : AT(0){
    LONG(0x554e454D);
    LONG(0x31305445);
    LONG(1);
    LONG("Main");
    LONG(END);
    LONG($END + PATH_SIZE + PARAMS_SIZE + STACK_SIZE);
    LONG($END + PATH_SIZE + PARAMS_SIZE + STACK_SIZE);
    LONG(AppParams);
    LONG(AppPath);
    *(.text)
    *(.rdata)
    *(.data)
    *(.codedat)
  }
END = .;
  .bss ALIGN(16) : {*(.bss)}
$END = .;
}
%KolibriOS% — это директория, содержащая KolibriOS.Lib.
В результате полученное приложение при запуске копирует параметры командной строки в EditBox
Вложение:
BuiltinEditBox.PNG
BuiltinEditBox.PNG [ 55.56 КБ | 183 просмотра ]

Есть проблема: виснет при Ctrl+C\Ctrl+V\Ctrl+X.
Трудно сказать, из-за чего.
Можно попробовать собирать и вот так(link — линкер от Microsoft):
Код:
Set NAME=BuiltinEditBox
FASM editbox.asm
C-- %NAME%.c-- /w32 /sobj
link -edit %NAME%.obj
LD -T LScript.x %NAME%.obj editbox.obj -o %NAME%.kex -L %KolibriOS% -l KolibriOS
OBJCOPY -O binary -j .all %NAME%.kex
Del %NAME%.obj
Pause
Но в результате LD вылетает с
Код:
LD: warning: BuiltinEditBox.obj: local symbol `-☺' has no section
LD: warning: BuiltinEditBox.obj: local symbol `-☺' has no section
Вложение:
edtbx.7z [17.5 КБ]
2 скачивания


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 196 сообщений ]  На страницу Пред. 110 11 12 13 14

Часовой пояс: UTC+03:00


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

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB