Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Accessing windows API and the Message Queue

Author
Message
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 02:16 Edited at: 29th Jul 2005 03:10
I'm getting Runtime Error 9705 - Index number illegal at line number XX

What does this mean?
This is the line causing it.
Altough it's being report on a different line.
call dll user32,"GetMessageA",get memblock ptr(mem), hWnd, 0, 0

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 03:24 Edited at: 29th Jul 2005 03:48
Here's what I'm trying to do.


This is the parameters for GetMessage from MSDN:


And the Structure for lpMsg (the output):

I hope that helps.
This code is simplified with the minmum needed for the error.

Can any programming gurus out there help me?
[Edit] Fixed a missing line in code, but I still need help.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Cryptoman
21
Years of Service
User Offline
Joined: 24th Nov 2003
Location: Utah Mountains
Posted: 29th Jul 2005 04:09
Try getting the memblock pointer into a variable then use the variable in the call dll line. I think I've run into that before.


OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 29th Jul 2005 10:04
B shouldn't be a boolean .

AtomZ - its got an A. Its got a Z. Now its just needs U
Blog:http://spaces.msn.com/members/BouncyBrick/
Web Site:http://www.nicholaskingsley.co.uk
Rob K
Retired Moderator
22
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 29th Jul 2005 14:09
Rather confusingly, the BOOL datatype in the Windows API is actually an integer.


BlueGUI Windows Plugin
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 15:35 Edited at: 29th Jul 2005 15:43
It's ok. I figured it out, but I doesn't seem to return all the messages, only input messages(mouse messages and keyboard messages). How would I go about getting things such as WM_CLOSE? Do I have to access the WindowProc function?

P.S. In my example I wasn't defining my variables correctly, but as I stated I fixed that portion of the code.

Here's what I'm using so far.


Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 15:52
Keaz, are you starting the rework of your IDE - see the darkBlue thread - I want to help with it.

Also, if you could post the MSDN address where you found this, it would be helpful.

I'll take a closer look after this post and try some code

-Xol

OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 29th Jul 2005 15:55
Quote: " Rather confusingly, the BOOL datatype in the Windows API is actually an integer."

Indeed - and there are differences between TRUE and true

AtomZ - its got an A. Its got a Z. Now its just needs U
Blog:http://spaces.msn.com/members/BouncyBrick/
Web Site:http://www.nicholaskingsley.co.uk
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 15:58
Keaz, your program is stealing all processing time from the system - you can't even move the window or press the close button
I'll see what I can do - perhaps we should stare the messages in a list like in BlueGUI?

-Xol

Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 16:02
You're code is processing all messages - including WINDOW_CLOSE. The problem is that the messages are being taken so fast that the system doesn't get the messages for a user clicking on the close button.

This code is a littile better (the close button will light up), but still not fully functional.


-Xol

Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 16:06
If you chnage the 'sleep_CPU(1)' in my program to 'sleep_CPU(1000)', you will be able to interact with the window more, because Windows is getting some of the messages that you aren't processing. The problem is that any message you take is lost and ignored by Windows. There is probably another getMessage type function that doesn't do this. Maybe Rob K could help - see what 'getEvent' calls?

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 16:06
Storing the messages in a list is what I want to do and yes I know it's stealing the processing time, but that is because of the way get message works. It doesn't return a value until a message is sent. I'm also going to setup using PeekMessage which will return even without a message.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 16:12
Does PeekMessage not steal the message from Windows?
[Links to MSDN are appreciated ]

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 16:19
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues.asp

With PeekMessage you can define whether or not it clears the message from the buffer.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 16:22
Nice - I'll see what I can do

-Xol

Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 16:29 Edited at: 29th Jul 2005 17:01
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 16:54 Edited at: 29th Jul 2005 17:01
Keaz, here's PeekMessage set up - but it always returns 0!

[EDIT: CODE FIXED - it works!]



-Xol

Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 17:00 Edited at: 29th Jul 2005 17:03
Fixed it - the 0x400 should actually be 0 (the 0x400 was meant to specify recieve all messages, but windows does this by default.
I've fixed the above code.

[EDIT] Well, it still doesn't seem to be responding to some messages; I'll work on it.[/EDIT]

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 17:55 Edited at: 29th Jul 2005 17:56
Take out the Sleep_CPU line and read my new post in code snippets here to learn why:
http://forum.thegamecreators.com/?m=forum_view&t=58010&b=6

It's in the code.

For more info try this function:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/sleepex.asp

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 18:09
Nice work Keaz!

(I'll post more over at your code snippets thread)

-Xol

IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 29th Jul 2005 19:31
Stealing messages from your application can make your application unstable - it *needs* some of those messages to operate correctly.

If you feel that you must have access to these messages directly (not something I'm convinced of), then you must dispatch them to DBPro's window message handler when you are done with them.

The standard way to do this in C is:


I've been intrigued enough by what you are doing to attempt to put together a very basic editor - I have cursor-up/down, page-up/down, a blinking cursor, and I've *not* implemented a message loop - I have 0% usage when the application is not in use.

When I add text input, I might try and grab WM_CHAR messages ... but I'm not fully committed to that just yet.

Here's the API.dba file I'm currently using:


I use WaitMessage to wait for new messages to the app (not removing them of course), and then just check the Scancode() to see if it was a keypress event.

To get the blinking cursor, I created a timer using SetTimer then would send a timer message to the app every so often and free the WaitMessage function. When I want to hide the cursor, I kill the timer.

The GetInputState function hasn't turned out to be needed ATM.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 20:08
I do wish to have access to them directly and I will include code for all meesage handling routines. I'm currently have difficulty getting some things to work without memblocks. I'm trying to use make memory, but I having difficulty outputting more than one byte at a time. I will continue to work on this.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 29th Jul 2005 20:11
Quote: " I do wish to have access to them directly"


Fair enough, but don't forget to dispatch them when you've got the data you want from them - the fact that you didn't do this is why your window couldn't be repositioned or resized originally.

MAKE MEMORY is a little buggy - I haven't worked out all of the circumstances, but it can cause your app to crash. Stick with memblocks and you'll be Ok.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 20:35
I most likely will go back to memblocks as it makes it easier to get data in and out of functions and make memory seems to cause a lot of page faults(or I'm making mistakes in my current efforts).

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 21:16
IanM

I think I can use your C code to better implement my message handling structure. Thx.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 21:17
IanM,
PeekMessage doesn't remove ('steal') messages from the que if its last parameter is set to 0 - that's why my latest code example used PeekMessage rather than GetMessage.

Keaz, I'll try to make some functions that utilize 'MAKE MEMORY' in the same way that memblocks do - so you could do simple memblock stuff without the extra 9 MBs.

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 21:50 Edited at: 29th Jul 2005 22:10
I will need the message to handle user input, but I'm now taking a different approach as this is giving me a haedache. Now I'm going to play around with trying to make gadgets.

P.S. Here's my version of the peek message code. It's heavy on CPU usage, but catches the messages faster. GetMessage can be used, but you have to put the messages back when your done playing with them.


Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 21:57
Alright - making gadgets will probably still require memblocks/memory though... but I'm working on functions to make 'MAKE MEMORY' work like memblocks

-Xol

Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 22:03 Edited at: 29th Jul 2005 22:10
OK, here are some functions - let me know how they work.


I've tested them - they seem to work well

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 22:13 Edited at: 29th Jul 2005 22:15
Interesting I hadn't thought of doing it that way. Also as far as messages go. We going to have to be able to output more than 1 parameter. Not just the type.. Maybe we can have the function output a pointer to the data location rather than the actual data.

Also with using make mem we need to extract bytes and put them back together as word/dword etc...

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 22:44
@IanM
Did you use blue for any part of your editor?

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 22:52
Know it's come to actually making gadets, but I can't get it to work... Anyone else have any luck or code to get me started? 1 gadget is all I need.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 23:06
Ok, so this is the part where it gets tough. I decided since a window was the most staight forward to work on that first, but even that is going to take a little while...

I immediately ran into a problem:
11 parameters and I can only export 9


Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 29th Jul 2005 23:36
Well I found this link. It's a bit helpful in this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/indivcontrol.asp

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 29th Jul 2005 23:55
(Just got back, sorry I've missed so much)
Keaz, I think that those 11 parameters are actually part of an enumerater type - most windows dll functions have only 1-2 parameters, 1 of whick is sometimes the pointer to a type.

If you could post exactly where you found those 11 parameters, I could look into how to pass them.

I'll be able to read dwords easily - but writing them will be harder, because DBpro's 'int(' function will only work for the integer range, not the dword range. I'll see if I can get around it.

IanM, if you know what causes these errors I'll see if there's a way around them.

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 00:20
For the parameters: It's also used for create all the other gadet type:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/createwindow.asp

Here's my current code:


It's simplified. I'm just trying to create a standard panel. If you can get it working please post it.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 00:25
I figured it out.....

I'll post it in a second.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 00:47 Edited at: 30th Jul 2005 01:20
It's not quite working yet...but it should be close.

Here th3 CoD3z:


Sorry this is wrong I need to pass another set of info via the lpParam.

I'm lost. can anyone continue it futher?

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 30th Jul 2005 01:25
- PeekMessage will not remove messages if you tell it not to, but it will only get the message on the top of the queue - there may be others after that one that you cannot get to unless you remove the top one. If you are going to look at messages, then you need to do it like I've shown in that C code.

- My code is all native DBPro. It uses no plug-ins, just system DLLs.

- I think that Lee included a work-around for the 9 argument limit for calling dlls - I believe that you can create a structure in a type...endtype, and pass that as a single parameter. I've not tried it myself, so let me know how it works out.

I wasn't planning on using windows gadgets - I was thinking of keeping things text-based initially, either a bit like 'vi' (if you know it), or using the function keys. Once the basic functions are there, it should be fairly simple to add in graphically driven options.

*** Coming soon - Network Plug-in - Check my site for info ***
For free Plug-ins and source code http://www.matrix1.demon.co.uk
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 30th Jul 2005 01:25
This doesn't work yet, but is a little closer.
Note-Keaz: I removed the lp and p from the start of the strings - these stand for long-pointer and pointer, but the function is taking a string, not a pointer to one.

I added the ion_internal_dump() because the strings must be null-terminated in memory.



-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 01:47 Edited at: 30th Jul 2005 01:50
@IanM
The work around I've seen used and we are using is to create a memblock with the proper size and passing a pointer to the meblock to the dll. It works good so far.

@Xolo
I added the proper exStyle parameter to it.


0x2000 is the equivalent to WS_EX_STATICEDGE

The only thing I'm not sure about is the lpParam part of it. It's should be a pointer to another set of parameters. But I'm not quite sure.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 01:58 Edited at: 30th Jul 2005 02:18
Ok I found our problem the DBPro window isn't going to accept any controls save except a menu(or at least I don't think it is). We are going to have to create a new Window to house the controls or at least a dialog box from what I can tell. Try just creating a new window.

P.S. I 've got to go for a while. I'll be back in about an hour.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 04:07 Edited at: 30th Jul 2005 04:08
Well I'm back. I work on it a little more. To remove concerns as to whether or not the DBPro window was causing the issues I've started trying to create a separate window. The issue at the moment as I don't have C++ is I don't know the class name for a standard window.

If anyone has the class name for a standard window or can show me the code necessary to create any Windows API Control and show it on screen, it will save me a lot of headache. Then I should be able to continue my IDE development.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 30th Jul 2005 04:15 Edited at: 30th Jul 2005 04:16
Keaz, I've tried the same thing - but I used BlueGUI to make the window . This did not solve the problem, so I believe that the DBpro window can have gadgets. BlueGUI can create gadgets in the main window without calling createGadgetFromWindow() - so keep on trying what you've been at before, or try Blue for making the window.

The only problem with Blue making the window is that you might not be able see the panel if it's created.

-Xol

Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 04:33
I'm going to be doing a lot of experimenting. If you get it post the code. If I do I will. For now I posted my IDE's code at my project thread. I hope it is of some use to you.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Jess T
Retired Moderator
21
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 30th Jul 2005 06:33
I like what you guy's are doing... Here's my contribution;

First up, here's some source I wrote a while back to get Buttons and List Boxes working in DBP with native calls.



It's fairly self-explanitory,

Attached is a zip of a JukeBox program I made, which uses these two things, and the can interact

Make of them what you will, and use them for whatever you want.

Good luck!

Jess.

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 30th Jul 2005 15:16 Edited at: 30th Jul 2005 15:58
Thx Jess. You just made my life easier again. I plan on going through your code peice by piece.

P.S. For everyone else the code runs better if you chane the "Repeat" "until" lines to:
While EscapeKey()=0
EndWhile

[edit]
As of now development on my IDE can resume. It's being remade from scratch so it will be a while before a new site or thread is posted on it.

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!
Xolatron old
21
Years of Service
User Offline
Joined: 25th Jan 2004
Location: The Star Forge Language: DBpro
Posted: 30th Jul 2005 15:52
Very nice code, Jess!

Thanks for sharing it !

-Xol

Jess T
Retired Moderator
21
Years of Service
User Offline
Joined: 20th Sep 2003
Location: Over There... Kablam!
Posted: 31st Jul 2005 06:09
Anytime, guys

Glad I can help out, and that my JukeBox is coming in handy for other things than just my parties ( at which I use it alot, and it always gets great reviews )

Keept up the good work, Keaz, and I reckon you might actually be able to pull off the whole ide idea!

Team EOD :: All-Round Nice Guy
Want Better dbHelp Files?
Keaz
21
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Somewhere in south Texas
Posted: 31st Jul 2005 15:21 Edited at: 31st Jul 2005 17:29
Actually it's not very difficult to pull off with blueGUI but, now that I understand the way Dark Basic inports dll functions. I won't need it. I've managed to restart my GUI for the IDE already. and get control over the DBPro window. I'm even thinking about using MDI for mutliple projects open. I know I often have to open multiple copies of Blue. My possiblities for this project are very open now. In a few days I'll post the beginings of my results. At the moment I'm trying to work out a rebar Menu and Toolbar sytem.

P.S. Here's a reference link to more controls. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/indivcontrol.asp

Breaking Stuff=Fun!,Bug Testing<>Fun!, Bug Testing=Breaking Stuff, so...
Bug Testing=Fun! Hmmmm....
DOES NOT COMPUTE! SYSTEM MALFUNTION!

Login to post a reply

Server time is: 2025-08-08 17:28:36
Your offset time is: 2025-08-08 17:28:36