![]() |
![]() ![]() ![]() | |
|
Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|| Форумы Здесь вы можете задать свой вопрос и наверняка получите ответ |
ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
| ||
![]() | ||
|
Чтобы не потерять эту дискуссию, сделайте закладку
« предыдущая ветвь | форум | следующая ветвь »
KOL-CE [Lazarus, WIN-CE]
Dy1 (21.06.15 20:27)Можно ли для компиляции под WinCE на ARMv6 использовать версии КОЛа новее 2.80.3? Если да, то как?
Dy1 (22.06.15 03:17) [1]2) дурацкая проблема - указываю {$DEFINE UNICODE_CTRLS}, но KOLString и KOLChar ансишные. Как использовать юникод?
PS если бы не древний навигатор, к делфи не вернулся бы
Dy1 (24.06.15 00:22) [2]кол не умеет работать с широкими строками при преобразовании из 8-байтного числа. До сих пор через жопу i64 и int64. GlobalMemoryStatus валится, т.к. у меня 16 гигов озу... Короче, нахрен этот ваш кол, делфи, лазаря и прочее!
Остаётся попытать счастья с с++ или забрасывать навигатор вообще
Thaddy © (25.06.15 12:03) [3]1. Yes, that is possible with the "unofficial" 3.22 version for 32/64 bit on the kolmck.net website.
What you need to do is build an arm crosscompiler make all crossall crossinstal BINUTILSPREFIX=<prefix of your arm windows binutils> OS_TARGET=wince CPU_TARGET=armel
I don't know if mck would work, but plain KOL without mck produces working wince executables.
2. You misunderstood: when UNICODE_CTRLS is selected, kolstring is a unicodestring or widestring depending on the Delphi version. kolstring is an alias to the native string type, NOT Ansi, bit either Ansi or Unicode.
3. I do not fully understand that question, sorry, try to explain simpler.
Thaddy © (25.06.15 12:05) [4]sorry, should be CPU_TARGET=ARMV6 in your case
RusSun © (25.06.15 19:44) [5]
> ... Короче, нахрен этот ваш кол, делфи, лазаря и прочее!
Не руби с плеча. Время. Время расставит всё на свои места.
Если надо сделай перерыв. Сорри, если посчитают за офф тор.
Dy1 (25.06.15 20:24) [6]Thaddy, thanks, I'll try.
lazarus-1.4.0-fpc-2.6.4-cross-arm-wince-win32.exe not support CPU_TARGET=ARMV6, max - v4.
RusSun, после C# и VS Lazarus выглядит невероятно убогим. Как в Блокноте код пишу :(
--
Возможно вопрос решится позже...GlobalMemoryStatus(m);
m.dwTotalPhys;
возвращает беззнаковое целое 4 байта, эквивалентное Cardinal или LongWord.
1) Как его преобразовать в строку?
2) как конвертировать i64 в int64 и обратно?
Dy1 (26.06.15 01:36) [7]отвечаю сам себе:
type
//Во Free Pascal типы Int64 и QWord не являются порядковыми, нельзя использовать их, например, для индексных переменных в циклах
UInt64 = QWord;//вроде бы не существует в Делфи
UInt32 = LongWord;
// PMemoryStatusEx = ^MemoryStatusEx;
MemoryStatusEx = packed record
Length: UInt32;
MemoryLoad: UInt32;
TotalPhys: UInt64;
AvailPhys: UInt64;
TotalPageFile: UInt64;
AvailPageFile: UInt64;
TotalVirtual: UInt64;
AvailVirtual: UInt64;
AvailExtendedVirtual: UInt64;
end;
function GlobalMemoryStatusEx(var Buffer: MemoryStatusEx): Boolean; stdcall;{cdecl;} external kernel32 name 'GlobalMemoryStatusEx';
var
j: Double;
m: MemoryStatusEx;
begin
FillChar(m, SizeOf(MemoryStatusEx), 0);
m.Length := SizeOf(MemoryStatusEx);
GlobalMemoryStatusEx(m);
j := m.TotalPhys/1024/1024/1024;//показывет все 16 гигов
а вот с преобразованием Int64_tStr проблемы - писать много и на практически забытом языке. Позже сделаю. Наверное...
Dy1 (26.06.15 23:58) [8]напомните пожалуйста что делать с:
kol.pas(644,64) Fatal: Невозможно найти модуль RichEdit, используемый в KOL.
?
версия неофициальная 3.22, ошибка появилась вроде как сама по себе
Dy1 (28.06.15 20:24) [9]как загрузить bitmap? В демках используются функции, которых я не нашёл в версии 2.88СЕ
Dy1 (28.06.15 20:47) [10]ага, это кол косячит, битмап берёт какой-то левый, а не свой
Thaddy © (25.07.15 11:24) [11]Try to build lazarus trunk with FPC 3.0.1 or higher (Trunk). 2.6.4 isn't maintained anymore.
The unofficial KOL 3.22 that also supports 64 bit works also for WINCE provided you specify -dUNICODE_CTRLS and -dNOT_USE_RICHEDIT and provided you compile with any FPC higher than 2.6.4.
WINCE doesn't support a richedit control, so you can't use it.
Thaddy © (25.07.15 11:43) [12]After you build a more recent version of FPC and Lazarus, which support more arm processors try this:
program bm;
{$IFDEF FPC}{$MODE DELPHI}{$H+}{$APPTYPE GUI}{$ENDIF}
{$DEFINE UNICODE_CTRLS}
{$DEFINE PAS_ONLY}
{$DEFINE PUREPASCAL}
{$DEFINE NOT_USE_RICHEDIT}
uses
Kol, bm1 in 'bm1.pas';
begin
NewForm1( Form1, nil);
Run(Form1.form);
end.
unit bm1;
interface
uses
Windows, Messages, Kol;
const
cps:KolString = 'Kol project in ' + {$IFDEF FPC}'Freepascal '{$ELSE}'Delphi '{$ENDIF} +
{$IFDEF WIN64}'64 bits '{$ELSE}'32 bits '{$ENDIF} +
{$IFDEF UNICODE_CTRLS}'Unicode'{$ELSE}'Ansi'{$ENDIF};
type
PForm1=^TForm1;
TForm1=object(Tobj)
Form:pControl;
BM:PBitmap;
Menu:PMenu;
public
procedure DoMenu(sender:PMenu;Index:Integer);
procedure DoPaint(sender:PControl;DC:HDC);
end;
procedure NewForm1( var Result: PForm1; AParent: PControl );
var
Form1:pForm1;
implementation
procedure NewForm1( var Result: PForm1; AParent: PControl );
begin
New(Result,Create);
with Result^ do
begin
Form:= NewForm(AParent,cps);
Applet:=Form;
Form.Add2AutoFree(Result);
Menu := NewMenu(Form,0,['&File','(','&Open','-','E&xit',')'],DoMenu);
BM := NewBitmap(0,0);
Form.Add2AutoFree(BM);
Form.OnPaint := DoPaint;
end;
end;
{ TForm1 }
procedure TForm1.DoMenu(sender: PMenu; Index: Integer);
begin
case index of
1: with NewOpenSaveDialog('Open Bitmap','',[OSFileMustExist])^ do
try
Form.BeginUpdate;
Filter := 'Bitmap files|*.bmp';
if execute then
begin
BM.Clear;
BM.LoadFromFile(Filename);
end;
finally
free;
Form.EndUpdate;
Form.Invalidate;
end;
3: Applet.Close;
else
;
end;
end;
procedure TForm1.DoPaint(sender: PControl; DC: HDC);
begin
BM.Draw(DC,0,0);
end;
end.
Thaddy © (25.07.15 11:46) [13]Feel free to adapt cps constant to include arm ;)
Thaddy © (25.07.15 13:53) [14]I am sorry, KOL needs some more fixing. I Forgot to make kernel32 equal coredll.dll' and fix some declarations in KOL_FPC'. I have that ready and put a cleaned up version online in a few hours.
Разрешается использование тегов форматирования текста:
версия для печати
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)
|
![]() ![]() ![]() |