AlphaControls for Lazarus

  • This topic has 47 replies, 9 voices, and was last updated 9 years ago by mol.
Viewing 20 posts - 21 through 40 (of 48 total)
  • Author
    Posts
  • #53062
    SzakiLaci
    Participant
    'Support' wrote:

    Hello Laci, you are migrated to Lazarus too? 😐

    Dear Serge 😉

    No, sadly I can not migrate my program to Lazarus yet, because of You 😛

    I would re-buy your product and would continuously donate, if you would make AC work on it.

    Do not need ALL components, just a few.

    As mentioned before in an other topic > the free GR32 component pack has perfect procedures for image-handling, filters, etc.

    So it's not necessary “to reinvent the wheel”, just use those ready-made function of GR32 🙂

    It would be no shame to say: “for using AC under LAZ > install GR32 first” … and you're done 😉

    My recommendation is:

    – Why don't you just “offer” the free version to Lazarus community >> by asking them to help you migrate it to Lazarus ?

    After they made it work for everyone >> you can develop the other (commercial) components based on those few easily !

    Lazarus has now IBX too, so DB components could work the same way.

    (Tried it, and it working perfectly the same way, as under D7 )

    Sooo… how much money would you need to start / finish ? You can send out a newsletter to everyone to ask… :blush:

    #53081
    Support
    Keymaster

    Hello!

    I have made a big attempt for support of Lazarus, but some things exists where I'm stopped.

    If you want I can send you this package, maybe you can see a solution because you more experienced in using of FPC.

    #53082
    SzakiLaci
    Participant
    'Support' wrote:

    Hello!

    I have made a big attempt for support of Lazarus, but some things exists where I'm stopped.

    If you want I can send you this package, maybe you can see a solution because you more experienced in using of FPC.

    YES please ! 🙂

    You know my email address … 😀

    So basically:

    1.) Do You allow me to send the code to the programmer I would hire ?

    2.) Can I + this 1 programmer use the Lazarus version for our programs ?

    (we do NOT resell the finished source code, but will share with YOU)

    Cheers

    #53091
    HeDiBo
    Participant
    'Support' wrote:

    I have made a big attempt for support of Lazarus, but some things exists where I'm stopped.

    What seems to be the problem?

    #53093
    SzakiLaci
    Participant
    'Support' wrote:

    … If you want I can send you this package, …

    Hi,

    Nothing received yet… will you upload it somewhere, or did you try to send it through email?

    Thanks

    #53096
    Support
    Keymaster

    Sent by PM

    #53098
    HeDiBo
    Participant
    'HeDiBo' wrote:

    What seems to be the problem?

    Can I be of assistance? More than willing to have a look at it.

    #53116
    SzakiLaci
    Participant
    'Support' wrote:

    Sent by PM

    Are there any 10.0 version skins, so I can try your Laz-komponent?

    It seems I need a “MasterBitmap” .

    Thanks !

    _____________

    OFF:

    Funny to see “the beginnings of AC” 😀 When I've joined it was already far more advanced…

    Yet, I could achieve following things:

    1. extracted .RES file with icons > added

    2. upgraded my Lazarus to the new 1.4RC1 … which already supports .RES files too

    3. successfully installed the package.

    4. Example project compiles successful (no skins yet) > but when I try to move the window > error:

    Code:
    Project project1 raised exception class 'External: SIGSEGV'.
    In file 'sSkinProvider.pas' at line 7550:
    if (TWMWindowPosChanged(Message).WindowPos.Flags and SWP_HIDEWINDOW = SWP_HIDEWINDOW) {$IFDEF D2011} and not Application.Terminated{$ENDIF} then

    … So obviously there many many things to do. :a1:

    5. tried to import the FULL (runtime) package (2014.10 version) with automatic “Delphi>to>Laz>comp” tool.

    it was successful (at the End)

    BUT it does not compile. Many Many errors. (fixed so far ca 12 units … but I've stacked with one.

    #53137
    Support
    Keymaster

    Hello, Dick

    I can send it if you want, but this package doesn't work yet.

    It is may be installed under Lazarus now, but many things must be changed for work with these components.

    #53160
    HeDiBo
    Participant
    'Support' wrote:

    Hello, Dick

    I can send it if you want, but this package doesn't work yet.

    It is may be installed under Lazarus now, but many things must be changed for work with these components.

    Hi Serge,

    That's why I offered my support. I'm a pensioner with lots of free time and 45 years of IT experience. So I would like to have a crack at it (free of charge of course 😉 ).

    You mentioned to have a specific problem, that hampered further development. Let me know by PM what that problem is, so I can examine it.

    #53163
    Support
    Keymaster

    Look mail-box, please.

    #53191
    HeDiBo
    Participant
    'SzakiLaci' wrote:

    4. Example project compiles successful (no skins yet) > but when I try to move the window > error:

    Code:
    Project project1 raised exception class 'External: SIGSEGV'.
    In file 'sSkinProvider.pas' at line 7550:
    if (TWMWindowPosChanged(Message).WindowPos.Flags and SWP_HIDEWINDOW = SWP_HIDEWINDOW) {$IFDEF D2011} and not Application.Terminated{$ENDIF} then

    The problem stems from this code:

    Code:
    Source: wincontrol.inc

    procedure TWinControl.SendMoveSizeMessages(SizeChanged, PosChanged: boolean);
    var
    SizeMsg : TLMSize;
    MoveMsg : TLMMove;
    //Flags: UINT;
    begin
    if (not HandleAllocated)
    or ((not SizeChanged) and (not PosChanged)) then exit;

    Perform(LM_WindowposChanged, 0, 0); <— Causes the access violation

    The message is LM_WindowposChanged with an LParam of 0. That causes an Access Violation in TsSkinProvider. This code fixes that:

    Code:
    procedure TsSkinProvider.AC_WMWindowPosChanged(var Message: TMessage);
    begin
    if Assigned(SkinData.SkinManager) and // *** DB ***
    acLayered and // *** DB ***
    DrawNonClientArea and // *** DB ***
    ( Message.LParam 0 ) then begin // *** DB ***
    if (BorderForm nil) and Form.HandleAllocated and IsZoomed(Form.Handle) then
    FSysExHeight := ActualTitleHeight > (SysCaptHeight(Form) + 4)
    else
    FSysExHeight := False;

    Sorry for the misalignmment, I cannot get it right.

    #53207
    SzakiLaci
    Participant
    'HeDiBo' wrote:

    The problem stems from this code: …

    Thanks BD 😉

    Sorry for the late respond. Forwarded your solution to the guy I've hired to work on it.

    Cheers

    #53373
    SzakiLaci
    Participant

    News:

    The programmer dropped back the project with:

    – it is impossible because too many and difficult windows-handle calls / messages not available under Lazarus. 🙁

    My other (more professional) programmer finally had time to look at it and confirmed the same result. 🙁

    But he has a (genius) workaround-idea:

    – compiling AC as a dll under Delphi > and writing a caller-class for it under Lazarus 😛

    He's working on it since 2 weeks…

    #53379
    HeDiBo
    Participant
    'SzakiLaci' wrote:

    But he has a (genius) workaround-idea:

    – compiling AC as a dll under Delphi > and writing a caller-class for it under Lazarus 😛

    He's working on it since 2 weeks…

    That may work for you, but it is not the general solution for getting AC to work with Lazarus. Because the reason for wanting it in Lazarus was, in the first place, the portability to all sorts of Unix and Linux systems..

    #53382
    mol
    Participant
    'SzakiLaci' wrote:

    …too many … windows-handle calls / messages not available under Lazarus.

    Well, that comes as a surprise…

    #53383
    HeDiBo
    Participant
    'mol' wrote:

    Well, that comes as a surprise…

    I think you're under the impression that we plead for a freeware version of AC under Lazarus. But nothing is further from the truth. We think that a paid for, commercial package still has a large market in the Lazarus community, provided it has unique qualities. That is what AC has: there are no packages available in Lazarus with such a wealth of carefully themed controls.

    I do not agree with the incompatibility argument. If the Lazarus environment was so different from a Delphi environment, the little test program that Serge included in his test library would not have worked at all. However after correcting the message parameter issue mentioned earlier, it does run. Not everything works as it should, but there certainly is a start.

    #53384
    mol
    Participant

    Dick

    As I said before: in my opinion it's simply a waste of precious resources that should better be invested in the ongoing development of the Delphi/Windows version. There are most likely so many hidden roadblocks that at some point in time, the project will simply be abandoned. Remember Kylix?

    -Uwe

    #53739
    SzakiLaci
    Participant

    The DLL-wrapper solution starts to form a shape. (See attached pic.)

    Although there is still a long-long way to go, until all components work the same way as in Delphi.

    Of course it will work only under Windows.

    http://www.alphaskins.com/forum/uploads/monthly_07_2015/post-2409-037037900%201437909433_thumb.png

    Surprisingly today I've realized, that in the new 10.x version there are many new lines like this:

    {$IFNDEF FPC}

    Does that mean Serge, that you're really working on freepascal implementation?

    #53740
    HeDiBo
    Participant
    'SzakiLaci' wrote:

    Of course it will work only under Windows.

    That would be the reason why it is not interesting for Serge. It's the Linux/Unix community that lacks proper controls. They would really benefit from AlphaControls.

Viewing 20 posts - 21 through 40 (of 48 total)
  • You must be logged in to reply to this topic.