Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Sep 17, 2019 1:50 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 196 posts ]  Go to page Previous 110 11 12 13 14
Author Message
PostPosted: Thu Sep 20, 2018 2:32 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
zero00m, интересная тема.
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 нужные константы и флаги.
Взял необходимые файлы:Собирается вот так
Code:
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, вот его содержимое
Code:
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
Attachment:
BuiltinEditBox.PNG
BuiltinEditBox.PNG [ 55.56 KiB | Viewed 1702 times ]

Есть проблема: виснет при Ctrl+C\Ctrl+V\Ctrl+X.
Трудно сказать, из-за чего.
Можно попробовать собирать и вот так(link — линкер от Microsoft):
Code:
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 вылетает с
Code:
LD: warning: BuiltinEditBox.obj: local symbol `-☺' has no section
LD: warning: BuiltinEditBox.obj: local symbol `-☺' has no section
Attachment:
edtbx.7z [17.5 KiB]
Downloaded 59 times


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 196 posts ]  Go to page Previous 110 11 12 13 14

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


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:  
Powered by phpBB® Forum Software © phpBB Limited