AlphaControls for Lazarus

Viewing 20 posts - 21 through 40 (of 47 total)
  • Author
    Posts
  • #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.

                                          #53922
                                          concrete
                                          Participant
                                            'mol' wrote:

                                            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

                                            AlphaSkins is an old and mature product. It's very usable and stable. It does NOT require continuous 24-hours-per-day development, and it definitely wouldn't hurt the product if a portion of development time was devoted to making an FPC-compatible port.

                                            I agree with others that a version for Free Pascal is very much needed.

                                            I'm not a paying customer (yet), but if there was a version that would compile for Delphi AND Linux, I would definitely pay for it immediately.

                                            By the way, for those who are familiar with Lazarus, I would strongly encourage you to try CodeTyphon. I discovered it about 3-4 months ago when I was suddenly required to develop a program for Linux on an ARM7 processor. I hated Lazarus…but I love CodeTyphon. It's basically Lazarus on steroids. Download a copy from the developer's web site (pilotlogic.com)

                                            And I'm also willing to do beta testing with AlphaSkins on CodeTyphon to help get a cross-platform version developed faster.

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