Конференция "KOL" » KOL x64 wndctrls
 
  • NoUser © (12.06.13 15:19) [0]
    Я тут ради спортивного интереса поковырялся
    - удалось собрать и запустить под XE4 W7
    ( перезаменил asm, packed record, Integer(@Data) )

    Кто что думает/знает по этому поводу ?
  • robt5 (12.06.13 19:07) [1]

    > перезаменил asm

    есть же PAS_ONLY директива

    > Кто что думает/знает по этому поводу ?

    думаю что это - имейзин, сексибол, не останавливайся на достигнутом
  • NoUser © (12.06.13 19:44) [2]
    > есть же PAS_ONLY директива
    думаю, что Вас она уже не спасёт.
  • robt5 (12.06.13 21:57) [3]
    PAS_VERSION тоже?
  • awkward © (13.06.13 12:06) [4]
    в самой библиотеке KOL много проблем с 64 битами. в т.ч. из-за размеров указателей да хандлов кое-где.... на FPC лучше всего проверяется :)
  • MTsv DN (21.06.13 00:37) [5]
    Даже установить на ХЕ4 не смог. MSBuild Error MSB4040. В сети по нулям...
  • NoUser © (23.06.13 13:35) [6]
    http://v2.nm.ru/KOL_XE4.zip

    Основные правки в

    err.pas
    KOL.pas -
     - Integer(Ptr) -> NativeInt (Ptr)
     - asm -> pas (Extended2Str, StrLen ..)
     - Format, StrRepeat ..
    delpicommctrl.inc
     - packed record -> x64 round packed record
    KOLComObj.pas
    - asm -> pas
    KOLDEF.inc
     - VER230, 240, 250
     - TMSG_WINDOWS

    на стабильность и полноту не претендует, но окошки можно слепить.

    MCK устанавливаем (DXE2.dpk) и рисуем на х86, потом собираем х64.

    > MTsv DN   (21.06.13 00:37) [5]
    MSBuild ?
  • Awkward © (23.06.13 16:03) [7]
    А что, более универсальной версии не сделать? чтоб и на ХЕ4, и на предыдущих работало?
    это я в первую очерез про NativeInt...
  • NoUser © (23.06.13 16:56) [8]
    type MyInt = {$IFNDEF CPUX64} Integer {$ELSE} NativeInt {$ENDIF} ;

  • MTsv DN (24.06.13 10:25) [9]
    2 NoUser
    Да. MSBuild. Кстати, KOL_XE4.zip - не найден...
  • MTsv DN (24.06.13 12:48) [10]
    > [MSBuild Error] The element <__ShouldBuildVersion> beneath element <PropertyGroup> is unrecognized.


    > Build started 24.06.2013 12:45:34.
    > __________________________________________________
    > Project "D:\Program Files\Embarcadero\KOL\KOLMCK_DXE.dproj"
    > (Make target(s)):
    > Target CreateProjectDirectories:
    >     Creating directory "C:\Users\Public\Documents\RAD Studio\10.
    > 0\hpp\".
    > Target __BuildShouldBuildVersion:
    >   d:\program files\embarcadero\rad studio\10.0\bin\CodeGear.
    > Common.Targets(736,9): error MSB4067: The element <__ShouldBuildVersion>
    > beneath element <PropertyGroup> is unrecognized.
    > Done building target "__BuildShouldBuildVersion" in project
    > "KOLMCK_DXE.dproj" -- FAILED.
    > Done building project "KOLMCK_DXE.dproj" -- FAILED.
    > Build FAILED.
    > d:\program files\embarcadero\rad studio\10.0\bin\CodeGear.
    > Common.Targets(736,9): error MSB4067: The element <__ShouldBuildVersion>
    > beneath element <PropertyGroup> is unrecognized.
    >     0 Warning(s)
    >     1 Error(s)
    > Time Elapsed 00:00:00.66

    Кто-нибудь может мне объяснить, что это за хренотень? И как ее исправить?

    З.Ы. Кстати, это уже в XE3 (та же картина и в XE4)...
  • Дмитрий К © (24.06.13 13:22) [11]

    > Кто-нибудь может мне объяснить, что это за хренотень? И
    > как ее исправить?

    MSBuild старой версии. Обновить .net framework.
  • MTsv DN (24.06.13 13:26) [12]
    > MSBuild старой версии. Обновить .net framework.
    Windows 7!!! В ней по умолчанию v.3.5.
  • Thaddy © (24.06.13 13:55) [13]
    The 64 bit version is NOT ready yet.
    What is ready is most of the normal procedural and functional parts (provided you compile with PAS_VERSION) but not the objects.

    I am working on it and some other people as well, but I have very little time and do not use Delphi anymore for professional stuff. (Only freepascal)

    I DO have a "cleaned up" version of KOL that is compatible with D7+ and Freepascal 2.7.1 that is fully capable of 64 bits, but it needs more testing and I need permission from Vladimir to publish it: It is not compatible anymore with D2,3,4,5,6 and FPC 1.x-2.4.X because I removed about 70% of the IFDEFS. Also: no MCK.

    Be patient!
  • Дмитрий К © (24.06.13 15:15) [14]

    > The 64 bit version is NOT ready yet.

    Как это не готова? Вот, пожалуйста:-)
    http://yadi.sk/d/Z0uMP31_67nJY
    Максимальная совместимость - компилируется в дельфи 2. Компилируется в fpc 2.6.2. Объекты, все дела. Естественно, требуется тестирование. И очень хочется MCK для Lazarus'а.
    Конечно, неофициально все, но, может кому-нибудь будет интересно взглянуть.
  • awkward © (24.06.13 15:39) [15]
    Ну и было б неплохо всё это расшарить в SVN, нет?
  • Дмитрий К © (24.06.13 15:56) [16]
    Нет.
  • NoUser © (24.06.13 16:02) [17]
    > MTsv DN   (24.06.13 12:48) [10]
    возможно файл проекта не конвертнулся в новую версию, ну и не должно там быть ни MSBuild ни hpp
    > MTsv DN   (24.06.13 10:25) [9]
    вставьте в адресную строку
    или http://v2.nm.ru/
  • NoUser © (24.06.13 16:23) [18]
    > Дмитрий К ©   (24.06.13 15:15) [14]
    > Как это не готова? Вот, пожалуйста:-)

    Спасибо, посмотрю, но установить не удалось
    "Can't load package .... 18.bpl"
    "Попытка обращения к неверному адресу"

  • Дмитрий К © (24.06.13 16:35) [19]
    Build, потом Install
  • NoUser © (25.06.13 01:36) [20]
    > Дмитрий К ©   (24.06.13 16:35) [19]
    Да, нормально, с путями напутал.

    Но как сказал Thaddy©  - будем ждать.

    А кто знает как на Win подружить Lazarus-32 и Lazarus-64, без лишних вопросов во время запуска?
  • Thaddy © (28.06.13 11:46) [21]
    @NoUser: This version actually works pretty good. I am experimenting a little with FPC.
    One main difference is that my unfinished version unifies PAS_ONLY, PAS_VERSION and PUREPASCAL into just PUREPASCAL only. They all mean the same thing and PUREPASCAL is Delphi compliant. I also simply stripped all ASM code for 64 bit.

    For Lazarus (fpc 271), try this build script.
    @ECHO OFF
    del build.log
    path=c:\pp\bin\i386-win32;%path%
    svn up
    make clean
    make bigide OS_TARGET=win64 CPU_TARGET=x86_64 OVERRIDEVERSIONCHECK=1 > build.log

    This defaults Lazarus to 64 bit, but you can also choose 32 bit from compiler options.
    OVERRIDEVERSIONCHECK is normally not necessary.

    What is necessary to add the following global defines:
    {$MODE DELPHIUNICODE}
    {$DEFINE UNICODE_CTRLS}
    {$DEFINE NOT_USE_RICHEDIT}
    {$DEFINE PUREPASCAL}
    // and in your case also
    {$DEFINE UNICODE}  //delphi sources
    {$DEFINE PAS_ONLY}
    {$DEFINE PAS_VERSION}

    Can I put your version as an unoffical download on kolmck.net?
  • NoUser © (02.07.13 21:09) [22]
    Да, пожалуйста, но в  
    > Дмитрий К © (24.06.13 15:15) [14]
    ,вроде, более системное решение.
Есть новые Нет новых   [118639   +37][b:0][p:0.001]