Used functions: SetWindowPos, GetThreadInfo, GetControlKeyState, GetKey, GetScreenSize, WaitEvent, BeginDraw, DrawWindow, DrawText, EndDraw, GetButton, ThreadTerminate.
Screenshot:
вся суть!Siemargl wrote:с пиратки на официально бесплатную
Те ты предлагаешь нубам купить Про за 1000$ ?0CodErr wrote:вся суть!Siemargl wrote:с пиратки на официально бесплатную
Возможно, у тебя лично и пиратка, но никто никого не заставляет ничего пиратить.
Дык зарегистрируйся и скачай.0CodErr wrote:А в чём, собственно, принципиальная проблема переноса?
У меня просто нет Tokyo, чтобы проверить.
Я не проверял возможность сборки этого актуальной версией FP, и считал эту ветку неживой для Колибри.0CodErr wrote:
И, кстати, FreePascal ещё есть.
Lode Runner собран им http://websvn.kolibrios.org/listing.php ... d8f767cc2a
Правда, ещё нужна RTL http://websvn.kolibrios.org/listing.php ... 6668893f98
Нубам я вообще ничего не предлагаю.Siemargl wrote:Те ты предлагаешь нубам купить Про за 1000$ ?
Ты на вопрос так и не ответил. Простой перекомпиляции недостаточно? Что конкретно вызывает проблемы?Siemargl wrote:Дык зарегистрируйся и скачай.0CodErr wrote:А в чём, собственно, принципиальная проблема переноса?
У меня просто нет Tokyo, чтобы проверить.
https://www.embarcadero.com/products/delphi/starter
А стоило бы. Товарищ //DG говорил, что версия 3.0 стала более совместимой, а в версии 2.4.4 были проблемы.Siemargl wrote:Я не проверял возможность сборки этого актуальной версией FP, и считал эту ветку неживой для Колибри.0CodErr wrote:И, кстати, FreePascal ещё есть.
Lode Runner собран им http://websvn.kolibrios.org/listing.php ... d8f767cc2a
Правда, ещё нужна RTL http://websvn.kolibrios.org/listing.php ... 6668893f98
Тем более, что ты либу тоже под FP не проверяешь.
У меня нет Дельфи СЕ и нет легальной возможности ее получить, т.к. уже зарегистрирован CBuilder Starter, а и то и то одновременно на халяву не положено.0CodErr wrote:Ты на вопрос так и не ответил. Простой перекомпиляции недостаточно? Что конкретно вызывает проблемы?
Я не нашел упоминаний от //DG, что там вообще были за проблемы.0CodErr wrote:А стоило бы. Товарищ //DG говорил, что версия 3.0 стала более совместимой, а в версии 2.4.4 были проблемы.Siemargl wrote:Я не проверял возможность сборки этого актуальной версией FP, и считал эту ветку неживой для Колибри.
Тем более, что ты либу тоже под FP не проверяешь.
Зачем же ты тогда предлагал что-то перенести? Может оно и так работает? Пока ещё никто о проблемах не писал(кроме тебя, но сам ты даже и не пробовал).Siemargl wrote:У меня нет Дельфи СЕ и нет легальной возможности ее получить
Этот диалог был в ЛС:Siemargl wrote:Я не нашел упоминаний от //DG, что там вообще были за проблемы.
0CodErr wrote:Кое-что у FPC работает не так, как в Delphi, например, для GetScreenSize пришлось немного извратиться, в то время как Delphi кладёт результат в eax, как и положено:
на FPна DelphiSpoiler:
Code: Select all
Function GetScreenSize: SIZE; Asm mov ecx, eax push ebx mov eax, 61 mov ebx, 1 int 64 pop ebx mov dword[ecx], eax End;
Так что, не всё можно просто так взять и перенести.Spoiler:
Code: Select all
Function GetScreenSize(): SIZE; Asm push ebx mov eax, 61 mov ebx, 1 int 64 pop ebx End;
//DG wrote:Кстати, по поводу разницы между Д и ФП - не могу с тобой согласиться. Сделал тест, все так же - структура передана через регистр:
Code: Select all
TMyRec = record a: word; b: word; end; // function MyProc(): TMyRec; // begin // Result.a := 1; // Result.b := 2; // end; {$ASMMODE intel} function MyProc(): TMyRec; assembler; asm mov eax,10102020h end; procedure TMyApplication.DoRun; var ErrorMsg: String; a:tmyrec; begin a := MyProc();
0CodErr wrote:в результате такCode: Select all
////////////////////////////////////////// Type SIZE = Record height, width : Word End; ////////////////////////////////////////// Scr : SIZE; ////////////////////////////////////////// Scr := GetScreenSize; ////////////////////////////////////////// Function GetScreenSize: SIZE; Asm mov ecx, eax push ebx mov eax, 61 mov ebx, 1 int 64 pop ebx mov dword[ecx], eax End;
На всякий случай, это был Free Pascal Compiler version 2.4.4 [2011/04/23] for i386Code: Select all
sub esp,4 lea eax,[ebp-4] call NEAR TEST_GETSCREENSIZE$$SIZE mov eax,dword [ebp-4] mov dword [U_TEST_SCR],eax
Copyright (c) 1993-2010 by Florian Klaempfl
Так что, если ещё и от версий зависит... слишком много будет conditional define'ов.
//DG wrote:Я скорее думаю, это от опций компилирования зависит.
//DG wrote:Твой пример у меня в 3,0,0 также через регистр возвращает.
//DG wrote:А режим компиляции(точнее, синтаксиса)-то какой?
0CodErr wrote:Я специально его не указывал, но вот из документации://DG wrote:А режим компиляции(точнее, синтаксиса)-то какой?Значит был режим FPC.This mode is selected by the $MODE FPC switch. On the command line, this means that you
none of the other compatibility mode switches. It is the default mode of the compiler (-Mfpc).
//DG wrote:Вот и я про то же, раз не указывал, то беретс fpc. А он и не должен быть совместимым с Дельфи, так что все путем. objfpc совместим, и он пересылает через регистр.Значит был режим FPC.
0CodErr wrote:Попробовал {$MODE OBJFPC} и {$MODE DELPHI}, — результат тот же, значит, тогда от версии зависит наверное.
//DG wrote:Наверно, я на последней тройке пробую.Попробовал {$MODE OBJFPC} и {$MODE DELPHI}, — результат тот же, значит, тогда от версии зависит наверное.
В состав C++Builder эпохи Borland входил dcc32 (иногда даже бо́льшей версии, чем в соответствующей версии Delphi) и исходники RTL/VCL на Delphi. У Embarcadero уже не так?Siemargl wrote:У меня нет Дельфи СЕ и нет легальной возможности ее получить, т.к. уже зарегистрирован CBuilder Starter, а и то и то одновременно на халяву не положено
Code: Select all
GetMAC(Device: Byte): Dword
Code: Select all
GetSentBytes(Device: Byte): Integer;
Code: Select all
GetReceivedBytes(Device: Byte): Integer;
Code: Select all
DrawWindow(Left, Top, Right, Bottom
Code: Select all
DrawButton(Left, Top, Right, Bottom
Code: Select all
Name: Packed Array[0..10] Of Char;
reserved2: Byte;
Code: Select all
Name: Packed Array[0..11] Of Char;
Code: Select all
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
Z:\media\maxim\E22406D62406AE1B\KOLIBRI\DELPHI\KolibriOS\KolibriOS.pas(626)
Unit1.pas(62)
690 lines, 0.02 seconds, 254 bytes code, 24 bytes data.
OMF2D 1.01 converts 32bit OMF to Delphi linkable OMF
Copyright (C) 2003 Radim Picha, www.anticracking.sk/EliCZ
Converting "Unit1.obj" to "Unit1.obj"
Microsoft (R) COFF/PE Editor Version 7.10.3052
Copyright (C) Microsoft Corporation. All rights reserved.
Unit1.obj : warning LNK4033: converting object format from OMF to COFF
LINK : warning LNK4041: no edit options specified
ld: skipping incompatible /media/maxim/E22406D62406AE1B/KOLIBRI/DELPHI/KolibriOS/Lib/libkos.a when searching for -lkos
ld: cannot find -lkos
Users browsing this forum: No registered users and 0 guests