IT-Berater: Theo Gottwald (IT-Consultant) > SDK and Third Party Know-How

Using third party addons

<< < (3/3)

Theo Gottwald:

--- Quote ---I agree it would be a bad thing if the developer were to stop developing your chosen product, but I'd still be able to use it 'as-is' forever.
--- End quote ---

I think that I am with Bob Houle here.
Also I would appreciate, if we get a discussion on all available third party tools here in the forum.
None of the tools is perfect, at least none of the tools i have used until now.

But those tools I have unsed until now have their place in my toolbox and will be taken out if it come to a project that fits to them.
After using EZGUI in my last project I have now a good idea where i can use it and make some sort of projects in - lets say half the time then without.

--- Quote ---@Patrice:
Quick search on Google:

- sp4gl, 864 links
- WinDev, 2690000 links
--- End quote ---

Would you like to do this system with PB also? :-)
Besides that it is just another thing, WinDev compared to those 4GL Tools. Download the Freeware and you'll see the difference.

About the title, I have changed it. Actually I did not see any reason why Chris should not be Ok, if we discuss what we think of EZGUI.
Every producer of Software - that includes me, you and even Bob - has to some extend live with discussions about his product in the public.

And i want to make more such discussions. When I am through with my current project, I want to share my experiences using EZGUI.
Because i think i have now some experinces and can give hints to new users and talk about strong and weak sides.

What I can say now is, that - as i do not have own big libraries on windows tasks (other then the ""),
I am quite happy that I could use the libraries Chris built into EZGUI. It just saves time.

Also the support from Chris was really worth the price. Even if  I had not got the EZGUI and just bought the support he gave me, for this money I paid,
it would have been worth the price.

While today he wrote me, I should also post in the forum. Which I plan to do if I find good point.
My problem on this is, that if i pick out a single problem i see in EZGUI people who do not know the product may missunderstand this.

For example today i wrote Chris that in my opinion the Menu-thing is not yet round, because I need few lines of SDK-code to use it :-))).

Let me end with this EZGUI - code example:

 I can do a PopUp-Menu simple like this:

--- Code: ---  S02="copy|paste|cut"
  EZ_DoPopupMenu S01, EZ_SetMouseXY(T03,T04), 9000, S02, "S"   
  ? "This will be called after the Popup dissapears"
--- End code ---

Which is really easy. And the Popup is a modal window, this means that the Messagebox in my example code will only be shown after the popu has been closed.
Now where do i get the result of this Popup-Menü (e.g. the item the user pressed?). Its in the Windows Message Loop, with the code 9000 etc..
And this means that its not LOCAL to a procedure but spread everywhere in the code.

Under this condition (its a modal window), a user-friendly and local implementation would have been (Sorry for all those who love SDK and Message-Loops etc. :-):

--- Code: --- R01=EZ_DoPopupMenu S01, EZ_SetMouseXY(T03,T04), 9000, S02, "S"   
  ? "The User pressed item "+STR$(R01)
--- End code ---

Then its really easy and its LOCAL in sense that I can just use it in any sub without doing changes on other places,
but its maybe not more "windows-like".

PS: On the other side, I've just got a mail from Jose and he told me his opinion, that in a year, in which Obama gets president, everything may become better.
I hope we have the next generation tools out at this time, which will enable me to make all this stuff without studying on the university first :-).
I don't want to reinvent the wheel - its just a popup-menu, one line must be enough.

Chris Boss:
One of the most important aspects of programming for many developers is speed of development.
It would be great if we all had the time to do everything at a low level, but many times speed of
development is critical. This is why components are used.

There is absolutely no difference between using a runtime DLL like EZGUI and GDImage.
Just because you make the source code available, it likely is of little benefit to the average
developer, since the code may be beyond their understanding. Source is meaningless if it
is not fully understood and a developer could spend months just trying to understand what
the source code actually does.

The key thing is how reliable is the component, whether a runtime DLL like EZGUI, a custom
control or OCX. VB'ers have been using components for many years and most of them don't
supply the source code with them. Not publishing source code is one way to protect trade
secrets and many companies will not do that.

The value of a software tool is not dependent upon whether it is 100% source code or that
source code comes with it, but whether it is well written and reliable.

I personally go to great lengths to make sure my software is reliable. I do a lot more testing
than many.

Also, I understood the need for the ability to expand beyond the core feature set of the runtime, so I
added a number of hooks into the core engine, so an experienced API programmer could expand beyond
it. If EZGUI doesn't do something exactly the way you want, you can create a hook into its internal
window procedure and message loop so you can preprocess messages before EZGUI does. I give you
access to all you need, so you can impliment standard SDK style code in your app, when something
else needs to be done, which is not currently supported by EZGUI.

It is this ability to be expanded upon (not a closed architecture) which allows programmers to go beyond
what the engine can do.

This means that EZGUI will never become obsolete, as long as the operating system is backward compatible
with for example XP.

Theo Gottwald:
If we talk about source code.
The one thing i missed most in EZGUI is the Layout-Manager from Dominics Phoenix.

While I got a workaround from Chris (which I had to expand), this is a workaround,
It does not have the quality of the Phoenix "Layout-Manger" to resize Forms absolutely perfect.

But after all this Phoenix-Layout-Manager is also in a DLL. I don't have the source code, I don't need it.
The same is true for some of the controls included with the package.

The source code thing is important for projects where you want to end up with a single executable file.
There are such projects, and they can not be done with EZGUI (lets leave tricks aside here).

But other projects can have additional files and then I would agree with Chris here,
I personally do not see the big difference. We are talking from components.

We are talking from tools. I would like to get more discussion here in the forum,
which tools are helpful in which tasks. Thats what we have started.

I have posted some parts of EZGUI code in another post, maybe those who have not seen it before can take a look and verify that this is not far from SDK.

Jürgen Huhn:
Hi there!!

The last Post to this Treat is a long Time ago, but I have to say..

I can see no Problem by using third party addons as long the use of them produce no Bug!
Everything has two Sides..

See the Possibility`s you have and what you want or need for your Application.

I`m personally prefer plain SDK, but my Life is to short to do all the work are already done in the third party addons!

For my Applications, I try to generate a plain SDK code skeleton with Tools like "PBwinSpy"!
Here I go the same Way like Patrice Terrier!
Coding in SDK-Style makes you free, and save your hard work for the Future.

Over the years I produced and collected a big pool of Code and Functions for the use with the WinApi.
In SDK-Style, means the Possibility to translate it to any other programming Language...
Also for a new Language in the Future!! Very important to realise it!!
The low level API is always the same whatever the language being used.

And also is my Experience with C++ and now even within PowerBasic, that plain SDK-Style is running faster and
produce less Errors in Memory (Paging Errors or in German: Seitenfehler). You can see that in the Taskmanager under
Processes(Prozesse). In the Listwiew there is the Column with this Name if it`s activated. If not, activate it in the
Menu under View (Ansicht-Spalten auswählen).

It`s a simple way to indicate the Quality of process programming, if you watch at the five Columns:

CPU-Time, Memory-usage, Max-Memory-usage, Paging or Memory-Errors and the count of Handles for the specific Process.

Most Reason for those Errors are Messages send from a Process they not reached the right or no Target.
Others depence on cleaning up Memory after finished process Actions(MemoryLeaks) or wrong Settings of Variables
or Data-Types,your Hardware and more...

The Point is, by using plain SDK you know exactly what`s going in your Programm!!
Less Errors and Messages who hit the right Target at the first Time, gives your Program
stability and Speed. An Error is a big Brake and can produce a chrash!!
And once you know what is going on behind the hood, then you can switch to another compiler ...

Two Sides, you have the choice...


[0] Message Index

[*] Previous page

Go to full version