Wish Events declared in a class should be seen within the sub declaration intelisense

mindful

Active Member
Licensed User
Hello,

I created a class (more exactly a custom view) and I declared the events at the top of the class:
B4X:
#Event: Open()
#Event: Closed()
Sub Class_Globals
    Private xui As XUI 'ignore
................

But when I go to the class/module where I initialized the class and I want to declare a sub for the event Open the class doesn't appear in the intelisense.

event_intelisense.png



If I create a library in java and declare the events there and then load that library into my project the class and it's events appear in the intelisense.


I don't know if this is a bug, this is why I expressed it as a wish.
 

mindful

Active Member
Licensed User
in the designer if it is a custom view and in the compiled library.
I saw them in the designer. At this point if I compile my custom view into a library with the events will show ? But this means that I have to compile the custom view (xui custom view) with every B4X ide - so when releasing an update I have to compile 3 times, right ?
 

Star-Dust

Expert
Licensed User
Longtime User
I saw them in the designer. At this point if I compile my custom view into a library with the events will show ? But this means that I have to compile the custom view (xui custom view) with every B4X ide - so when releasing an update I have to compile 3 times, right ?
If you want to release the library but not the source code, the compilation must be done for each platform (3 times in our case)

The advantage (XUI) is that you can write it once and can compile it without having to adapt or rewrite it.
When you develop a new version, you will add new functions, you will do it on only one source code and it will be valid on all three.
 

Star-Dust

Expert
Licensed User
Longtime User
There are many advantages for releasing the source code:

- Developers can change it as needed.
- Developers can learn from it.
- Compiled libraries can be broken with new releases (https://www.b4x.com/android/forum/threads/b4x-backward-compatibility.86823/#content)
- Less work for you as a single source code is enough.
Obviously, releasing the sources enriches the community and the abundance of examples and sources make the language richer and increase the learning curve for the new ones.
I understand it's for the developer community and for Anywhere this has value.

But for equally obvious reasons it will not be possible to release the source codes of everything. Many libraries are released without source code to protect the rights.
Think for example the XUI library or the many other libraries with B4A. Or BitmapCreator which was born as a class with free source and in the latest version only the libraries were released.
And lastly, let's think about the sources of the B4A IDE environment.

Microsoft has recently released the MSDos 1.0 sources and has not been used for nearly 20 years.

While recognizing the benefits for the community in releasing the sources there are obvious reasons not to do so

NB: Forgive me if there is any mistake or some incomprehensible sentence, I use a translator and generate many errors
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
Or BitmapCreator which was born as a class with free source and in the latest version only the libraries were released
Note that the source code for BC is available (https://www.b4x.com/android/forum/threads/xui2d-bitmapcreator-drawing-methods.98148/).

I completely agree. What I wrote is relevant in cases where you are willing to share the code. It is completely acceptable that this is not always the case.
The likelihood of shared resources to be useful in the long run is larger when the source code is released.
 
Top