Page 1 of 2

Delphi & PEload

Posted: Wed Oct 12, 2016 6:42 pm
by ALEXS1983
Delphi & PEload
Созданная 0CodErr`ом утилита PELoad ( viewtopic.php?f=9&t=2318 ) , натолкнула меня на мысль создать такой пакет, который облегчит пользователям написание программ, в среде Delphi и использование PELoad. И вот предлагаю вашему внимаю пакет содержащий модули, утилиты и примеры, с помощью которого будет удобно использование примеров и написание программ, а также их визуализация эмулятором KlbrInWin. Данный пакет не является совершенством и "последней инстанцией", он, а точнее говоря его модули и примеры будет постоянно совершенствоваться и добавляться. Надеюсь на помощь
пользователей в написании примеров и различных обёрток для функций КОС, которые могут дополнить данный пакет.
DelphiPEload.zip (244.65 KiB)
Downloaded 431 times
Общее описание.
DelphiPEload предназначен для разработки программ для среды КОС в среде Delphi, в частности в среде Delphi7, в которой были созданы и проверялись на работоспособность модули и примеры архива.

Описание папок и файлов.
_DOC — папка с документацией и описанием DelphiPEload
_Unit — папка содержащая модули проекта и шаблон (NewProect(pattern)) всех необходимых файлов для создания нового проекта, при запуске NewProect.bat
_Util — папка содержащая все необходимые утилиты пакета DelphiPEload
NewProect.bat — для создания нового проекта, папки NewProect, в папке DelphiPEload и копирования всех необходимых файлов из шаблона _Unit\NewProect(pattern) в папку NewProect
Остальные папки которые в папке DelphiPEload, являются примерами:
CreateFile, DrawButton, DrawText, HelloDelphi, PutPixel, Scrollbar

Порядок работы с DelphiPEload в простом изложении.
Для начала оговорюсь о том, что является понятием “оригинальная КОС”, которое будет встречаться далее в описаниях и инструкциях. Под понятием “оригинальная КОС” подразумевается использование КОС без эмуляторов подобных QEMU и других способных эмулировать КОС, т. е. КОС которая установлена как ОС самого компьютера, а не эмулятора.

DelphiPEload должна быть работоспособна в любой папке и на любом диске. Но поскольку её работоспособность проверялись лишь на диске C:\ в корневой папке,то распакуйте архив DelphiPEload.zip на диск C:\ в корневую папку.

Для того чтобы запустить примеры, в эмуляторе KlbrInWin, войдите в любую из папок примеров и запустите runProject.bat. При этом на диске C:\ создаётся папка TempKOS содержащая файлы необходимые для запуска примера в KlbrInWin. Папка является временной и может быть удалена после использования DelphiPEload. В папке c:\TempKOS также находится файл run_in_KOS.sh с помощью которого можно запускать программу в QEMU или в “оригинальной КОС” из папки c:\TempKOS. Также этот же файл (run_in_KOS.sh) находится в папке с примером, поэтому в папке с примером его тоже можно запустить в QEMU или в “оригинальной КОС”.
Примечания.
1. Для запуска программы в QEMU или в “оригинальной КОС”, необходимо предварительно запустить fNav, (файловый навигатор для о.с. Колибри) из которого и нужно запускать run_in_KOS.sh. Файловый навигатор fNav находится в папке _Util , при необходимости скопируйте (или перенесите его) в нужное вам место, DelphiPEload не использует fNav.
2. Некоторые из примеров могут быть не работоспособны в эмуляторе KlbrInWin, причины этого будут выясняться, хотя, возможно это будет не разрешимо для эмулятора KlbrInWin.

Для того чтобы начать новый проект, необходимо запустить NewProect.bat.
В папке DelphiPEload, появится в папка NewProect, которую сразу же рекомендуется переименовать в нужное вам название проекта, во избежание его случайного повреждения, повторным запуском NewProect.bat, который скопирует файлы шаблона поверх вашего проекта! Будьте внимательны!
Откроем среду Delphi (Delphi7) и в ней откроем ProjectKOS.dpr и uMain.pas, отредактируем uMain.pas, и скомпилируем проект (кл.Ctrl+F9). Далее запустим из папки проекта runProject.bat который сделает всё необходимое для запуска программы.
Примечания.
1. Программа не запустится и да не должна запускаться в среде Delphi (Delphi7). Поэтому, при запуске (кл.F9), в среде Delphi (Delphi7) среда выдаст ошибку, что не является, чем-то ненормальным.
2. Название ProjectKOS.dpr изменять не нужно, так как в файле runProject.bat прописаны "привязки" к данному имени и если его изменить, то придётся изменять содержимое runProject.bat, так как проект не будет запускаться.
3. Также не нужно изменять папку C:\TempKOS\ на использование другой папки, потому, что придётся менять настройки в KlbrInWin.ini (hd0_1=c:\) для того, чтобы проект мог запускаться в KlbrInWin.

Ну вот пока и всё.
Будут вопросы пишите в тему "Delphi&PEload”
на форуме http://board.kolibrios.org

Автор Delphi&PEload выражает благодарность создателю, 0CodErr` у, за созданную им утилиту PELoad, а также за выложенный архив DelphiKOS.7z, в теме "PELoad" ( viewtopic.php?f=9&t=2318 ), примеры которых в есть в архиве "Delphi&PEload", - CreateFile, DrawButton, DrawText, HelloDelphi, Scrollbar.

Re: Delphi & PEload

Posted: Wed Oct 12, 2016 8:11 pm
by ALEXS1983
А вот если бы еще заняться вот этим:
МЭФК ( KOS.dll ) viewtopic.php?f=39&t=3205
который я когда-то начал писать на Delphi7, и связать его с DelphiPEload, то его бы можно было использовать вместо KlbrInWin. И было бы это лучше чем KlbrInWin, - запускать можно бы было проект в винде, и пошагово (кл.F7, кл.F8 )"прокурчивать" проект!
Во как!

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 10:45 am
by ALEXS1983
Кто хочет обновиться :-) вот пожалуйста
Downloaded 409 times
изменения в модулях и добавлено два примера DrawLine и DrawRect.
Распаковать и перезаписать файлы в DelphiPEload.
====================
Что !?... Мало кто хочет обновиться (DelphiPEload.zip [244.65 КБ] 1 скачивание ), - ну ничё, ничё, - просто еще не время! Придёт и «наше время», ой придёт! :-)

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 11:34 am
by ALEXS1983
Собираюсь писать конвертировщик для строк, ANSItoKOS (KOStoANSI) . Может есть уже готовый код на любом ЯП киньте плиз ссылку на тот код (или в крайнем случае таблицу )

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 12:09 pm
by ALEXS1983
0CodErr, мне в лс "красиво" всё расписал как можно использовать ShortString... :-))
но дальше, чем просто присвоить строке статические данные, шото у меня дело не доходит!
вот в реальности когда понадобиться делать, например, вот такое s1:=s1+s2+s3[2]....
Так фиг оно работает! такая же картина с String, а PCar вообще не понятки!
Еще раз говорю: может изначально другой подход выберем, например
type stringKOS= array[0..256] of Char;
или даже
type stringKOS= array[0..256] of Byte;
а не of Char;
А ? С Char гляжу тоже непонятки когда делаешь S:=s+c; - не работает ведь!
Пример моих эксперементов:

Code: Select all

Procedure DrawShortString(X, Y: Integer; Text: ShortString; ForeColor, BackColor, Flags: Integer);stdcall;
Begin
  DrawText(X, Y, @Text[1], ForeColor, BackColor, Flags And Not DT_ZSTRING, Integer(Text[0]));
End;
Procedure DrawShortString2(Text: ShortString);
begin
DrawText( 10, 12, @Text[1], COLOR_BLACK, COLOR_WHITE,DT_CP866_6X9 + DT_FILL_OPAQUE + DT_ZSTRING, 0);
end;


Procedure RedrawString;
Var i: Cardinal; s1,s2,s3:string; ss1,ss2,ss3:ShortString;
c:Char; ck:Byte;
begin
//  c:=s[4];
//c:='d';
//ck:=ord('d');
//s2:='2333333';s3:='Test DrawText'+'s sdfsdfsdf +'+s2[2];//#39;//chr(ck);//+c
//ss2:='2333333';ss3:='Test DrawText'+'s sdfsdfsdf +'+s2[2];//#39;//chr(ck);//+c
//  s1:='Test DrawText'+'s sdfsdfsdf +'+s2[2];//#39;//chr(ck);//+c
//  s1:=ss2;//+ss3;
// @S3[1]
//DrawText( 10, 12, PChar(s1), COLOR_BLACK, COLOR_WHITE,DT_CP866_6X9 + DT_FILL_OPAQUE + DT_ZSTRING, 0);
//DrawText( 10, 12, 'Test DrawText', COLOR_BLACK, COLOR_WHITE,DT_CP866_6X9 + DT_FILL_OPAQUE + DT_ZSTRING, 0);
ss2:='dwdfsd sd';ss3:='2324243242';
//ss1:=ss2+ss3;
ss1:=ss2+'sdsd';//ss3;
DrawShortString2(ss1);
//DrawShortString( 10, 12, 'Test DrawText', COLOR_BLACK, COLOR_WHITE,DT_CP866_6X9 + DT_FILL_OPAQUE + DT_ZSTRING);
end;

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 12:16 pm
by 0CodErr
Собираюсь писать конвертировщик для строк, ANSItoKOS (KOStoANSI) .
Не знаю уж, что ты там опять городить собрался.
Но про строки я тебе уже давал ссылки, но ты видимо не проникся.
Тонкости работы со строками: http://delphikingdom.com/asp/viewitem.a ... logID=1206
Строки в Delphi: http://easyprog.ru/index.php?id=218&opt ... &task=view
но дальше, чем просто присвоить строке статические данные, шото у меня дело не доходит!
вот в реальности когда понадобиться делать, например, вот такое s1:=s1+s2+s3[2]....
StrCopy\StrCat в помощь:

Code: Select all

Var
   MyStr1: Array[0..63] Of Char;
   MyStr2: Array[0..63] Of Char;
   MyStr3: Array[0..63] Of Char;
////////////////////////////////   
   MyStr1 := '12345';
   MyStr2 := '67890';
   StrCopy(MyStr3, MyStr1);
   StrCat(MyStr3, MyStr2);   
////////////////////////////////   
   DrawStr(10, 80, MyStr3, COLOR_BLACK, COLOR_RED, DT_CP866_6X9);  

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 12:46 pm
by ALEXS1983
0CodErr wrote:
Собираюсь писать конвертировщик для строк, ANSItoKOS (KOStoANSI) .
Не знаю уж, что ты там опять городить собрался.
Но про строки я тебе уже давал ссылки, но ты видимо не проникся.
Тонкости работы со строками: http://delphikingdom.com/asp/viewitem.a ... logID=1206
Строки в Delphi: http://easyprog.ru/index.php?id=218&opt ... &task=view
Видимо нет! Не проникся! И даже понять не могу, чем мне те тексты помогут если я захочу написать "Привет мир" вместо стандартного "Hello world"!
Ну да ладно, перечитаю еще раз!
==============
дАрАгой, :-) а вот чего ты злишься? мы ведь с тобой про одно и тоже, - что СТРОКИ
String, ShortString использовать (!!!АКТИВНО ИСПОЛЬЗОВАТЬ!!!) НЕЛЬЗЯ! и твой пример где есть:
Var
MyStr1: Array[0..63] Of Char;
MyStr2: Array[0..63] Of Char;
MyStr3: Array[0..63] Of Char;

Array и Of Char; ВСЁ ТАКИ!, а не String, ShortString и PChar
ЭТО ПОКАЗЫВАЕТ И ДОКАЗЫВАЕТ! Я только предложил немного по другому!
Спасибо за пример. работает:

Code: Select all

Procedure RedrawString;
Var
   MyStr1: Array[0..63] Of Char;
   MyStr2: Array[0..63] Of Char;
   MyStr3: Array[0..63] Of Char;
begin
   MyStr1 := '12345';
   MyStr2 := '67890';
   StrCopy(MyStr3, MyStr1);
   StrCat(MyStr3, MyStr2);
DrawShortString(10, 80, MyStr3, COLOR_BLACK, COLOR_RED, DT_CP866_6X9);
end;

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 1:00 pm
by 0CodErr
Видимо нет! Не проникся! И даже понять не могу, чем мне те тексты помогут если я захочу написать "Привет мир" вместо стандартного "Hello world"!
Мдам... плохо быть тобой :lol:
Array и Of Char; ВСЁ ТАКИ!, а не String, ShortString и PChar
Если бы ты всё-таки прошёл по ссылкам и почитал, то у тебя бы таких вопросов больше не возникало. Вот, например, про не понятный тебе PChar
PChar - нультерминальная строка

pstr: PChar; - это нультерминальная строка (zero-terminated, иначе еще называется срока с завершающим нулем). Так называется, потому что представляет собой указатель на цепочку символов, заканчивающуюся терминальным нулем #0. Ее еще называют сишной строкой (из языка С, там она определяется как char*).
А ShortString — это пожалуйста. В System есть _PStrCpy, _PStrCat и т.д.
ЭТО ПОКАЗЫВАЕТ И ДОКАЗЫВАЕТ
что ты большой лентяй :lol:

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 2:30 pm
by ALEXS1983
Попытаюсь объяснить популярно.
Однажды я читая о дельфе и попалась мне тема о PChar. Я бегло прочитав, понял, что это не для меня, и что не зная особенности этой PChar, можно жить долго и счастливо :-) со string, и не париться на всякой фигне такой как PChar! И вот с тех пор я жил и жизни радовался со string, где всё вполне понятно и да выглядит симпатично! И даже если касалось где-то, что в процедуру необходимо передавать PChar, то я делал PChar(s), в самый последний момент, т.е. при самой передаче в процедура! И ву-аля!
Вот и сейчас бы я тоже не парился, если бы проблема решалась, через PChar(s), в самый последний момент... Но ведь не работает так(!) при предшествующем подобном s1:=s2+s3; s1:=s2+s3[3], да и много чего не работает так как хочется! Ну нашёл я описание процедур по обработке PChar...
Spoiler:Справочник по функциям Delphi. Функции работы со строками типа PChar

А эта таблица содержит функции для работы со строками типа PChar (также находятся в модуле SYSUTILS):
function StrLen(Str: PChar): Cardinal; Возвращает число символов в строке Str (без учета завершающего нулевого).
function StrEnd(Str: PChar): PChar; Возвращает указатель на завершающий нулевой символ строки Str.
function StrMove(Dest, Source: PChar; Count: Cardinal): PChar; Копирует из строки Source в строку Dest ровно Count символов, причем строки могут перекрываться.
function StrCopy(Dest, Source: PChar) : PChar; Копирует Source в Dest и возвращает указатель на Dest.
function StrECopy(Dest, Source: PChar): PChar; Копирует Source в Dest и возвращает указатель на завершающий символ Dest.
function StrLCopy(Dest, Source: PChar; MaxLen: Cardinal): PChar; Работает как StrCopy, но копирует не более MaxLen символов.
function StrPCopy(Dest: PChar; const Source: String): PChar; Копирует строку Source (типа string) в Dest и возвращает указатель на Dest.
function StrPLCopy(Gest: PChar; const Source: string; MaxLen: Cardinal): PСhar; Работает как StrPCopy, но копирует не более MaxLen символов.
function StrCat(Dest, Source: PChar): PChar; Дописывает Source к концу Dest и возвращает указатель на Dest.
function StrLCat(Dest, Source: PChar; MaxLen: Cardinal): PChar; Работает как StrCat, но копирует не более MaxLen-StrLen(Dest) символов.
function StrComp(Str1, Str2: PChar): Integer; Сравнивает две строки (посимвольно). Возвращает значение: <0 ? при StrKStr2, 0 ? при Strl=Str2, >0 ? при Strl>Str2.
function StrIComp(Str1, Str2: PChar): Integer; Работает как StrComp, но без учета регистра символов.
function StrLComp(Str1, Str2: PChar; MaxLen: Cardinal): Integer; Работает как StrComp, но сравнение происходит на протяжении не более чем MaxLen символов.
function StrLIComp(Str1, Str2: PChar; MaxLen: Cardinal): Integer; Работает как StrLComp, но без учета регистра символов.
function StrScan(Str: PChar; Chr: Char): PChar; Отыскивает первое вхождение символа Chr в строку Str и возвращает указатель на него или nil в случае отстутствия.
function StrRScan(Str: PChar; Chr: Char): PChar; Работает как StrScan, но отыскивается последнее вхождение Chr.
function StrPos(Str1, Str2: PChar): PChar; Отыскивает первое вхождение строки Str2 в строку Strl и возвращает указатель на нее или nil в случае отстутствия.
function StrUpper(Str: PChar): PChar; Преобразует строку к верхнему регистру.
function StrLower(Str: PChar): PChar; Преобразует строку к нижнему регистру.
function StrPas(Str: PChar): String; Преобразует строку Str в строку типа string.
function StrAlloc(Size: Cardinal): PChar; Размещает в куче памяти новую строку размером Size и возвращает указатель на нее.
function StrBufSize(Str: PChar): Cardinal- Возвращает размер блока памяти, выделенного для строки при помощи функции StrAlloc.
function StrNew(Str: PChar): PChar; Размещает в куче памяти копию строки Str и возвращает указатель на нее.
procedure StrDispose(Str: PChar); Уничтожает строку, размещенную при помощи StrAlloc или StrNew.
Глянул, - о ужас! Даже не ужас, а ужОс! А коснись в реальности, - еще ужасы какие-но "нарисуются"!

А ведь 0CodErr так усердно "распинался" - "да всё тут будет как в дельфе! " Да нет, - не всё! Заморочки на заморочках! string не работает используй PChar... вот только если #0 попадётся в строке, то оно её на этом #0 и "отрубится", и концов не найдёшь! Ну так ведь? Да и эти PChar не реальные переменные, содержащие данные, а ссылки какие-то, так ведь ?
И вот скажи пожалуйста нафига ты мене вместо аналога string предлагаешь разную фигню, ну ЯВНО НЕ БЛЕЩАЩУЮ И НЕ СРАВНИМУЮ со string?! Ну сотни раз уже "кругами" вокруг этих ShortString, String, - а 0CodErr, опять мне пишет: "В System есть _PStrCpy, _PStrCat и т.д.", - а я уже знаю(!), что попробую это, опять какая-то фигня "выползет"....
И вот я принял решение создать самому то, что мне нужно. И вместо того, чтобы 0CodErr мне отписал: "... ну если уж самому делать, так тогда лучше всего за основу взять вот такое: type stringKOS= array[0..256] of Char; и будет тебе доступно всё, и соответственно сможешь сделать любую обработку этого массива данных какую только захочешь!...". Но нет, он мне все "вокруг" PChar, ShortString, String, которые, -
ОЧЕРЕДНОЙ РАЗ ПОВТОРЯЮ: ИСПОЛЬЗОВАТЬ НЕЛЬЗЯ!

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 2:49 pm
by ALEXS1983
...... А вот тебе и еще "прикол":

Code: Select all

Procedure RedrawString;
Var
   MyStr1: Array[0..63] Of Char;
   MyStr2: Array[0..63] Of Char;
  MyStr3: Array[0..63] Of Char;
c:Char;
begin
   MyStr1 := '12345';
   MyStr2 := '67890';
   StrCopy(MyStr3, MyStr1);
c:=MyStr1[3];
   StrCat(MyStr3, PChar(c));
DrawShortString(10, 80, MyStr3, COLOR_BLACK, COLOR_RED, DT_CP866_6X9);
end;
Симпатично выгладит да ? И компилируется! И запускается!
А ВОТ РАБОТАЕТ НЕПРАВИЛЬНО!

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 2:55 pm
by 0CodErr
Да, тебе похоже на форум про Delphi надо. :)
используй PChar... вот только если #0 попадётся в строке, то оно её на этом #0 и "отрубится", и концов не найдёшь!
Ох, лол :lol: , а сам ведь при этом городит какой-то KOStoANSI, в то время, как в KolibriOS как раз и используются те самые zero-terminated строки.
Глянул, - о ужас! Даже не ужас, а ужОс! А коснись в реальности, - еще ужасы какие-но "нарисуются"!
И как же ты жил-то до сих пор? :lol:
И вот я принял решение создать самому то, что мне нужно.
лучше всего за основу взять вот такое: type stringKOS= array[0..256] of Char;
Вот PChar и есть указатель на такой массив.
Говоря проще — всё уже за тебя давно придумано, надо лишь читать, изучать, учиться, а ты почему-то ленишься делать это, но не ленишься писать сюда простыни возмущений "ниработает", "ниполучается".
А ВОТ РАБОТАЕТ НЕПРАВИЛЬНО!
Компьютер, он, понимаешь, штука такая: что ввёл, то и получил, ввёл фигню — получил фигню.

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 4:07 pm
by ALEXS1983
0CodErr wrote:Ох, лол :lol: , а сам ведь при этом городит какой-то KOStoANSI, в то время, как в KolibriOS как раз и используются те самые zero-terminated строки.
Ну блин! Да тут не только про KOStoANSI речь идёт! Хочется, аналог string чтобы был, а не заменители какие-то, при которых каждый раз изъё*йся по разному(!), владея обширной базой знаний о дельфи!....
0CodErr, ну ты же не глупый человек и прекрасно понимаешь что такого не должно быть! То, что ты мне рассказываешь и предлагаешь, это равносильно, - что у процессора есть регистры и присваивать друг-другу их надо не через "mov", а каждый раз изъё*ваться по разному(!).... владея обширной базой знаний об асме!
Я тебя только так понимаю! У тебя всё только к такому сводится!
0CodErr wrote:И как же ты жил-то до сих пор?
Я писал уже, - везде использовал string, это очень удобно и понятно!
0CodErr wrote:Вот PChar и есть указатель на такой массив.
Ага! Я уже понял! А также пробовал его использовать!
0CodErr wrote: а ты почему-то ленишься делать это, но не ленишься писать сюда простыни возмущений "ниработает", "ниполучается".
?!?!? а--а-а-а-а вообще.... а-а-а-а- форумы для чего.... писать или как?!... ну коль не работает, я пишу, что не работает.... коль 0CodErr говорил, что всё работать будет.... ну я и пишу, мол, нет, не всё!... но его почему-то это выводит из себя... что я постоянно пользовался только string(!)... а он всё таки не работает так как надо... а всякие изъё*ы причем каждый раз по разному, меня мало устраивают! И на вопрос: как сделать так (сделать своё), чтобы постоянно не изъё*ться каждый раз по разному, мне ответ: ты лол.. изучай дельфи... попробуй то... попробуй это... за тебя всё сделали и т.д.
0CodErr wrote: Компьютер, он, понимаешь, штука такая: что ввёл, то и получил, ввёл фигню — получил фигню.

Работал бы string, понимаешь ли... то там:
c:=s2[3]; s1:=s1+c;
(где s1,s2- string, с - char)
сложно представить как тут можно фигню написать, причём так, чтобы ошибку компилятор не выдал! И из-за того, что я привык к такому , это не повод для оскорблений меня!

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 4:28 pm
by 0CodErr
И на вопрос: как сделать так (сделать своё), чтобы постоянно не изъё*ться каждый раз по разному, мне ответ: ты лол.. изучай дельфи.
Хочется, аналог string чтобы был
Во-первых ты 100% не ходил по приведённым ссылкам и не читал ту информацию, во-вторых, ты всё равно сам это не осилишь, потому что даже азов не знаешь и спотыкаешься на элементарных вещах.
0CodErr говорил, что всё работать будет.... ну я и пишу, мол, нет, не всё!
Я вообще-то говорил, что надо править System и SysInit.
сложно представить как тут можно фигню написать
StrCat(MyStr3, PChar(c))
Что в качестве параметров ожидает StrCat? А ты что вот тут передаёшь?
PChar(c)
причём так, чтобы ошибку компилятор не выдал!
Да очень просто :) Ты с таким же успехом можешь вывести "A" и удивляться, почему это компилятор не ругается, я же хотел вывести "Б".

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 4:37 pm
by //DG
Алекс, я тебе сколько раз в личке объяснял, что строки в язык не встроены? Раз 10, наверно.
Опять по-новой пластинка поехала?

Re: Delphi & PEload

Posted: Thu Oct 13, 2016 4:40 pm
by //DG
Ох, лол :lol: , а сам ведь при этом городит какой-то KOStoANSI, в то время, как в KolibriOS как раз и используются те самые zero-terminated строки.
Причем я ему это объяснял в личке, блин. Как об стенку.