IonicWind Software

IWBasic => IWGrid => IWGrid Suggestions => Topic started by: DennisL on October 21, 2014, 07:35:34 AM

Title: IWGrid New Wish Item (Not actually a list yet)
Post by: DennisL on October 21, 2014, 07:35:34 AM
Hi Larry,  I have been following the development of this control with great interest and expectations.
Looking through the associated help file has given me more hope as it all looks like it's coming along wonderfully with lots of options and possibilities.
The 1 major wish I have is if this project could be expanded upon to include a stand-alone DLL that may be used by other programming languages that can call std c functions?  I know this was originally planned to be specifically for IWB+, but this would be a good addition to the generally available controls/libraries out there.
Anyway, that's my wish item for this.  Hope you'll at least think this possibility over.
Cheers, Dennis.
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: LarryMc on October 21, 2014, 05:01:49 PM
So, since I don't know 'C', what does the subroutines need to look like to do what you want?
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: DennisL on October 21, 2014, 06:51:04 PM
Hi Larry,
Since your control is based on the win32api (as you mentioned that it requires the windowssdk.inc file to compile), I don't believe that you need to change your functions at all, but to just build them into a DLL (dynamic linked library) file that exports those functions to be able to be linked and called externally instead of just LIB (statically linked library) file that is built into the executable.  e.g. for one of your examples:

   IWG_Create(win, "", 20,30,500,400, ID_GRID1)

This will remain the same and would be able to be called from another language most likely as:

   call dll("IWGrid.dll", "IWG_Create", win, "",20,30,500,400, ID_GRID1)

With all your constants defined in the header (which I can't see) and inc file available.

Not sure if it applies to how you built your control, but please have a look at the following (first Googled result of "lib to dll"):
http://stackoverflow.com/questions/2384932/converting-static-link-library-to-dynamic-dll (http://stackoverflow.com/questions/2384932/converting-static-link-library-to-dynamic-dll)

Edit: After reading a little more on the subject from Google searches, some articles suggest that .lib files are sort of stubs for.dll files and  that they should come in pairs already - not sure if this is true for you.  Other articles suggest that you just have to change the build type and provide the extra declarations as indicated in my linked article above.  Not sure what is correct, but an confident that you'll be able to sort this out as you have much more experience building controls and libraries than I do. :)

Cheers.
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: LarryMc on October 21, 2014, 09:51:55 PM
OK, gotcha.  I'll gitter-done in the next day or two.
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: LarryMc on October 21, 2014, 10:23:39 PM
Might have spoken to soon.
I just thought about the fact that all my functions pass the parent WINDOW  as a parameter and WINDOW is a udt.

I'll have to search both the old and new forums to see if anyone else has specifically addressed this before.

And I already had things setup in different folders to create a plain dll and a dll that uses the CDECL calling convention.

If I cn get that part figure out then creating the dlls is easy.

But even then I'll need help.  I can supply how all the external constants and exported functions in IWB syntax but someone else will have to convert that to the syntax normally found in a header '.h' file.

So, give me some time.
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: LarryMc on October 21, 2014, 10:46:05 PM
BTW Dennis,
If I get it built are you going to be able to test it for me?
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: DennisL on October 21, 2014, 11:05:25 PM
Sure, I would be happy to test it out for you (it would help me out as well). :)

Note: in my example the win variable was assumed to be a normal windows handle (long), not sure how/why you've used a udt  ???
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: LarryMc on October 21, 2014, 11:24:50 PM
Quote from: DennisL on October 21, 2014, 11:05:25 PM

Note: in my example the win variable was assumed to be a normal windows handle (long), not sure how/why you've used a udt  ???
Because he windows in IWBASIC are based upon the IWB WINDOW udt just as IWB;s dialogs are based upon the IWB DIALOG udt.

For windows the WINDOW udt has elements that facilitate doublebuffering of graphics, handling the client frame in a MDI frame and such.

In the WINDOW udt the first element is the handle hwnd that the operating returns when it creates the window.

There are some IWBasic command that allow you to enter the WINDOW udt or the hwnd for the window.  I'll probably have to code all my exported subroutines the same way so that with the c dll could use hwnd for the parent window.

We'll see. At noon I'm having a gall bladder test to see if I need surgery and the next day I'm having a ct scan of my brain to see if they can determine if I had a stroke or if it is diabetes messing up the nerves in my brain because my eyes and balance are haywire.  I've yet to get he appointment with a neurologists to see if I'm getting Parkinson's disease and with an eye doctor to also see about what is going on with my eyes.

So, I work on this when I can since I have benefitted from your postings in he past.
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: DennisL on October 21, 2014, 11:41:11 PM
WOW! hope everything comes back with negative (good) results. Good Luck!

No problem -take your time; and I appreciate your (unexpected) last comment.  Just post again when you have anything - I've set it to send me an email when new posts arrive, so that's fine.
Title: Re: IWGrid New Wish Item (Not actually a list yet)
Post by: billhsln on October 22, 2014, 10:05:35 AM
I hope all your medical tests come back negative.

Bill