Andromo - Start Making Apps - Free Signup

Announcement

Collapse
No announcement yet.

Object Plugin Container

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #46
    *ptr.RECT = @*rcObRect

    ok, it reads the structure but its corrupting the rest of the argument stack, that's what causing the boolean problems im having, it seems to be expanding the structure on the stack!

    back to my original instenct, it needs to be a pointer (or flatten)
    Embrace change in your life, you never know, it could all work out for the best

    Comment


    • #47
      it must be expanding the structure, if i call with below

      _DrawDesign(ClassID.l, HDC.l, hMainWnd.l, left, top, right, bottom, bVisible.i, bEnabled.i)
      it works as expected, how did that happen ?
      Embrace change in your life, you never know, it could all work out for the best

      Comment


      • #48
        I don't wanna go this way, but you can get arguments from the ASM registers at custom offsets. This
        is a tricky task though, and it doesn't always give you the best results.

        Reteset, instead of pushing the structure on the stack, could you push a pointer to the structure in the
        form of an INT? PureBasic doesn't accept structures as arguments in functions, only the default variable
        types such as; String,Byte,Word,Unsigned byte, unsigned word, dword, quad, int, double, float etc etc.
        Bas Groothedde
        Imagine Programming :: Blog :: Like the Facebook page for up-to-date info regarding plugins!

        My AMS Plugins:
        iEnc - AMS7, Object - AMS7 - AMS8, PluginInfo - AMS7 - AMS8, VersionInfo - AMS8, ListIcon 2.1 - AMS8, ProgressEx - AMS8, SPLAX - AMS8, MemoryEx - AMS8, MemoryEx Lua Header Compiler - Info - 20,-, Draw - Info - 5,- NEW

        Comment


        • #49
          the word from the PB forums is:

          The values of the structure are being pushed onto a parameter stack. The structure appears as a collection of (4) 4-byte integers. This would be the same as pushing 4 separate 4-byte integers. The sizes need to match properly for this to work.
          http://www.purebasic.fr/english/view...hp?f=5&t=44671

          so it seems i was right
          Embrace change in your life, you never know, it could all work out for the best

          Comment


          • #50
            ok, i think i understand whats going on now

            PB is adding each of the structure addresses as arguments when it encounters the structure argument, thats why PB dont support structure arguments and they must be a int pointer to the structure in order to maintain the argument stack....... bummer :(
            Embrace change in your life, you never know, it could all work out for the best

            Comment


            • #51
              Ok, it is no problem , i will flatten RECT and POINT structs
              and post an update in a hour

              anything else you want to be flattened ,or changed
              amsplugins.com Is Closed.

              Facebook Page

              Comment


              • #52
                thanks mate, i appreciate the work

                im also having trouble setting event name and args in _GetEvent, but i think that might be a result of the stack corruption caused in the previous call
                Embrace change in your life, you never know, it could all work out for the best

                Comment


                • #53
                  Ok, Proxy Object Beta2 is available

                  What's New :

                  _DrawDesign and _DrawRuntime redesigned like below

                  Code:
                  void _DrawDesign(long ClassID ,HDC hDC, HWND hMainWnd, int rect_left,int rect_top,int rect_right,int rect_bottom,BOOL bVisible,BOOL bEnabled)
                  void _DrawRuntime(long ClassID,HDC hDC, HWND hMainWnd, int rect_left,int rect_top,int rect_right,int rect_bottom,BOOL bVisible,BOOL bEnabled)
                  _GetEvent redesigned like below

                  Code:
                  BOOL _GetEvent(int nIndex, char* m_szName,char* m_szArgs)
                  mouse event functions redesigned like below
                  these functions are now optional , so you do not have to export if you do not need them

                  Code:
                  void _OnMouseOver(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnMouseLeave(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnLBtnDown(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnLBtnUp(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnLBtnDoubleClick(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnRBtnDown(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnRBtnUp(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  void _OnRBtnDoubleClick(long ClassID,HWND hWndParent,int pt_x , int pt_y,int rect_left,int rect_top,int rect_right,int rect_bottom)
                  finally this function became optional

                  Code:
                  BOOL irPlg_Object_TranslateMessage(MSG* pMsg)
                  amsplugins.com Is Closed.

                  Facebook Page

                  Comment


                  • #54
                    Thanks for all your work on this Reteset!
                    Bas Groothedde
                    Imagine Programming :: Blog :: Like the Facebook page for up-to-date info regarding plugins!

                    My AMS Plugins:
                    iEnc - AMS7, Object - AMS7 - AMS8, PluginInfo - AMS7 - AMS8, VersionInfo - AMS8, ListIcon 2.1 - AMS8, ProgressEx - AMS8, SPLAX - AMS8, MemoryEx - AMS8, MemoryEx Lua Header Compiler - Info - 20,-, Draw - Info - 5,- NEW

                    Comment


                    • #55
                      Just to let you guys know, iv made good progress with this, i have a fully functional object with active events and object properties window all synced and working prefect, just need to tidy up the framework and make things a little more dynamic

                      Bas, i'll have a working framework by new years eve :yes
                      Embrace change in your life, you never know, it could all work out for the best

                      Comment


                      • #56
                        Originally posted by RizlaUK View Post
                        Just to let you guys know, iv made good progress with this, i have a fully functional object with active events and object properties window all synced and working prefect, just need to tidy up the framework and make things a little more dynamic

                        Bas, i'll have a working framework by new years eve :yes
                        Awesome Dean! :yes

                        If you need any help, don't hesitate to order me around haha XD
                        This thing is really the best thing that has happened to me for a while (programmingwise)
                        Bas Groothedde
                        Imagine Programming :: Blog :: Like the Facebook page for up-to-date info regarding plugins!

                        My AMS Plugins:
                        iEnc - AMS7, Object - AMS7 - AMS8, PluginInfo - AMS7 - AMS8, VersionInfo - AMS8, ListIcon 2.1 - AMS8, ProgressEx - AMS8, SPLAX - AMS8, MemoryEx - AMS8, MemoryEx Lua Header Compiler - Info - 20,-, Draw - Info - 5,- NEW

                        Comment


                        • #57
                          Happy NewYear!

                          Here we go Bas, a fully operational AMS object made in PB :yes

                          @Budding Developers

                          I will answer all questions relating to this SDK and its usage but i will not teach you how to use PB, there is a place for that already!

                          @Everyone Else

                          Please download the package and at least beta test the plugin so we can be sure the framework is stable and bring you all some nice shiny new plugins to play with

                          @Reteset

                          Dude!, this system is perfect, iv tested every aspect of it and its 100% (on Windows 7 Home Premium), hows the Delphi wrapper coming on ?

                          We all owe you one, Thank You for making this possible :yes
                          Embrace change in your life, you never know, it could all work out for the best

                          Comment


                          • #58
                            Bas, forgot to mention, i have a half built ListIcon object, you want to finish it or can i ?
                            Embrace change in your life, you never know, it could all work out for the best

                            Comment


                            • #59
                              Originally posted by RizlaUK View Post
                              Bas, forgot to mention, i have a half built ListIcon object, you want to finish it or can i ?
                              Oh I was going to port the current ListIcon to this system now we can use APO's, but if
                              you want, you can build it

                              Thanks for the framework, awesome!!!

                              Reteset, thanks for this awesome proxy, you rock!
                              Bas Groothedde
                              Imagine Programming :: Blog :: Like the Facebook page for up-to-date info regarding plugins!

                              My AMS Plugins:
                              iEnc - AMS7, Object - AMS7 - AMS8, PluginInfo - AMS7 - AMS8, VersionInfo - AMS8, ListIcon 2.1 - AMS8, ProgressEx - AMS8, SPLAX - AMS8, MemoryEx - AMS8, MemoryEx Lua Header Compiler - Info - 20,-, Draw - Info - 5,- NEW

                              Comment


                              • #60
                                thank you guys for testing it
                                it should work well on all Windows versions which are Windows 2000 or newer

                                Proxy object requires minimum Windows 2000 please keep this in mind

                                also i forgot to flatten SIZE struct that is used in GetDefaultsize()
                                i am going to convert it to individual arguments (because i will need it to be so)

                                if you have requests , new ideas , suggestions please write

                                i will release stable version soon , and then i will not be able to touch it again for any update or change

                                @RizlaUK
                                your plugin works well on my PC { Windows XP (SP3) }

                                i have not tried to make a dll with delphi (using this proxy) ,but it should work well

                                Thanks & Happy New Years :o
                                amsplugins.com Is Closed.

                                Facebook Page

                                Comment

                                Working...
                                X