RibbonGadget, but need some help
Posted: Sun Sep 13, 2020 11:27 am
Hello,
as I wrote some time ago I just started with PureBasic. I hoped for a RibbonGadget, but it's not natively implemented and all efforts creating this have stopped due to legal issues or something else (at least as far as I know). So I took the wheel and started it yesterday. I think my work is already doing great, however, I need some help. This is also my first module, so I need to understand some things that are currently unclear to me. I wanted to seek help in the German forum but again I cannot contact an admin and don't get any email for account reset. My english account works, so here I am.

Here are my questions:
1. Can I use "UseModule" for always just one module at a given time?
2. How can I use constants effectively. I now declare them in the DeclareModule-section and the module itself. This seems not as intended. same question with structures.
3. I want a function "CheckRibbonActivity()" to return the ribbon-item-id and activity. I now use said function just for checking if something has happened at all and "RibbonID()" plus "RibbonEvent()" for further information. Can I pass a variable that is filled with that data, like (and certainly wrong):
4. I know how to create threads and stuff. At the moment the function "CheckRibbonActivity()" is called after "WaitWindowEvent()". I know I can remap the processing to my own function (via "SetWindowCallback(...)") and then return to normal. But what if someone wants to use it in the porgram too? Do multiple calls of the function stack and process all functions until the original windowproc is called?
5. Can I make my module publicly accessible (if there is demand) without releasing the source code or creating a DLL? XProfan is able to precompile the code into a precompiled include file that is not readable, but can be included like a normal inc.
as I wrote some time ago I just started with PureBasic. I hoped for a RibbonGadget, but it's not natively implemented and all efforts creating this have stopped due to legal issues or something else (at least as far as I know). So I took the wheel and started it yesterday. I think my work is already doing great, however, I need some help. This is also my first module, so I need to understand some things that are currently unclear to me. I wanted to seek help in the German forum but again I cannot contact an admin and don't get any email for account reset. My english account works, so here I am.

Here are my questions:
1. Can I use "UseModule" for always just one module at a given time?
2. How can I use constants effectively. I now declare them in the DeclareModule-section and the module itself. This seems not as intended. same question with structures.
3. I want a function "CheckRibbonActivity()" to return the ribbon-item-id and activity. I now use said function just for checking if something has happened at all and "RibbonID()" plus "RibbonEvent()" for further information. Can I pass a variable that is filled with that data, like (and certainly wrong):
Code: Select all
Structure RibbonEvent
event.i
id.i
EndStructure
Global RE.RibbonEvent
;Module...
procedure CheckRibbonActivity(event,id)
PeekL(event,#Ribbon_Event_Something)
PeekL(id,my_id)
;...Code
;EndModule...
;Creation etc.
CheckRibbonActivity(@RE\event,@RE\id);or CheckRibbonActivity(@RE)
;More Code...
5. Can I make my module publicly accessible (if there is demand) without releasing the source code or creating a DLL? XProfan is able to precompile the code into a precompiled include file that is not readable, but can be included like a normal inc.