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 / 2 Dll Problems / Questions

Author
Message
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 24th Jan 2003 20:33
Ok First question, and probably easy to answer
Q. If I install plugins in the form of a dll in the darkbasic plugin-user directory, when the program is compiled even without any external media included in the exe, will the exe still work on some1 else's pc who doesn't have the dll files on their PC? Or do you have to include them either externally or in the media tag?

Second question - more complex.
Q. Ok Over Christmas I went to my mothers house and installed a modem in her computer to take her online. Her PC is an old 233Mhz, 32Mb RAM no 3d card system, running Win ME. I went to my website and downloaded my Bounce demo to see how slowly it would run, if at all, on such low system specs. When I ran the exe file I got the error

"Failed to load DLL (1: DBProSetupDebug.dll)"

Ok does that mean that there is 1 or more system dlls needed in the windows system to run DBP games? If so, surely our games won't run on any pc without Pro installed and therefore are unsellable?

If so, what files do we have to include with our exes to make them playble on non DBP pcs, and are they copyrighted?

Kind of like the annoying problem with the old Kilk and Play software that needs "cncs232.dll" to run any games made with it - this puts many potential users off

Any comments / answers appreciated as always


Failed to load DLL (1: DBProSetupDebug.dll)
http://www.myminehead.com/mylogo.gif[/img]
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 20:37
First question - yes it will work on other computers without the plug-ins as the whole of each DLL is incoorporated into the executable (its inefficient but hopefully that will be improved later).

As for the second problem - I dont really know why it should do that. I think its a problem between DirectX and DBPro (Is DX8+ installed) ? It should be noted that the actual problem may not be the fact that it cant load DBProSetupDebug.dll, but one of the DLL's that that file needs...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 24th Jan 2003 21:16
Thanks Toad, knew u'd b first here

1. I don't know about inefficient, that seems like the best way to me.. unless of course you are hoping millions will be drawn to your site looking for a mystery dll

2. Aha! I thought as much! I don't think Direct X 8 or higher is installed on her system, so that may very well be it! I was only there for a day so didn't have time to try downloading DirectX. I just kinda thought it would report a directX problem, not a DarkBasic one, but your possible explanation makes sense.

If any1 else has a spin / view on the 2nd problems I'll b most interested Thanks

IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 24th Jan 2003 21:23
That sounds about right to me.

The DLL is being loaded by windows, and when it tries to load DLL's that it depends on and cannot find them, it fails, so the loading of DBProSetupDebug.dll also fails.

Standard Windows operating procedure.
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 21:31
Can get rather confusing at times though...

As for being inefficient, I think what happens is that ALL plug-ins are compiled into the executable whether or not any commands in them are used - which really wastes compiling, loading and executing time.

By the way - have you downloaded the (latest) Memory DLL to use the example routine for OSVersion ?

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
ShockFire
23
Years of Service
User Offline
Joined: 18th Jan 2003
Location: United Kingdom
Posted: 24th Jan 2003 21:35
strange name for a dll that is included with directx...

I think its to do with the actual computer, i mean ive tried running one of my db games on my old 120mhz,80mbram,2mbgfx and it caused access violations and the works. I most of had about 10 blue screens of death
Then again a 233 is alot faster, and should be able to at least handle the loading of the db engine. It was maybe too low on memory??
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 24th Jan 2003 21:36
Actually, I know for a fact that the DBPro compiler does not include DLLs for commands you do not use.

I've fallen foul of it several times, and even the Guru (Lee ) couldn't give me a way around it.
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 21:48
It doesn't - must say thats good!

ShockFire - Its the name of the DBPro DLL thats having trouble, not the DLL its trying to use...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 24th Jan 2003 21:53
Thanks guys

IanM - yes it does seem to make sense.
Toad - No but I will try it when I get some time, thanks
ShockFire - Yes I tht this too but IanMs right, its quite standard Windows precedure when I think about it. I think it would handle it, but I'm pretty sure direct X was only installed on hers to about version 6/7 so that wouldn't handle a Pro game

ShockFire
23
Years of Service
User Offline
Joined: 18th Jan 2003
Location: United Kingdom
Posted: 24th Jan 2003 21:55
kewl, so your saying the db engine is shoved in a dll?

if so, wouldnt it be possible to allow a user to download the db dll, and then (hard coded by dbs), just open the dll and use it? that would save us from having gigantic files...

i'd think that would be pretty neat huh?
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 22:02
I think Ian can do that already...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 24th Jan 2003 22:24
Do what? Keep the DBPro dlls separate?

You can't stop the compiler from including a command dll, either the standard ones or your own.

If you have a dll that is not a command dll, you can either keep it separate or include it as media to be be built into your executable.
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 22:56
No, use parts of the DBPro DLL's...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 24th Jan 2003 23:04
Yep And Guy followed soon after with the zip_tools addin - of course he had help

Of course, they can only be called if the compiler includes the dll you want.
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 23:41
The advantages of DBDN...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 24th Jan 2003 23:44
Nah, direct line to Lee. I've had to work it all out for myself.
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 24th Jan 2003 23:52
ahhh...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 25th Jan 2003 15:58
You can install Dx 9 on that machine ... however you still won't be able to use DarkBasic Pro exe
cause Dx will fail initilisation (or rather DX93D.DLL)

As for the DLLs... i don't understand what is being ment at all

Do the DLLs get compiled with the EXE as part of the EXE ... or do they get compiled into a single DLL which is then included as part?

It would make more sense to have a main DLL or LIB set for DarkBasic Pro itself to compile - and then user DLLs you add like include files if you want to use
well makes more sense to me atleast.

Anata aru kowagaru no watashi!
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 25th Jan 2003 17:20
The DLL plug-ins get combined into the executable whilst compiling...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 25th Jan 2003 17:29
ahh i see... well that makes sense now
still i'd prefer it if the plugin ones didn't - i dunno it just seems "right" that they're left out and added like media.

But i think i've probably been using C++ too long

Anata aru kowagaru no watashi!
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 25th Jan 2003 21:26
Yeah I expected them to have to be kept separate, but personally I prefer having them included cos it makes it easier for others to install

Shock
AGK Developer
23
Years of Service
User Offline
Joined: 24th Oct 2002
Location: United Kingdom
Posted: 25th Jan 2003 22:19
well, wouldnt it be kewl if there was just one sperate (distributable) darkbasic dll, which you could tell users to put in the windows folder, and then your program could be really small and just contact the dll inside the windows folder.

A choice whether or not to turn the option on or off would be neat too

...::::ShockForge::::...

Ambient Software coming soon!
Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 25th Jan 2003 22:33
well i was thinking more in terms of you might want to patch your DLLs later ... so rather than the users downloading the entire patch update (which oki patchers do a good job of) you can simply package new DLLs like you can when you have media or update dba code which isn't included.

i mean it is good to have alot of things included - but DLLs i'd say should be more of the developers choice.

Anata aru kowagaru no watashi!
Shock
AGK Developer
23
Years of Service
User Offline
Joined: 24th Oct 2002
Location: United Kingdom
Posted: 25th Jan 2003 22:39
lol, i think were talking bout two different things here

...::::ShockForge::::...

Ambient Software coming soon!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 25th Jan 2003 23:17
Not quite - you are both talking about almost the same thing, except that there is no single DBPro dll - lots of little ones.

It *might* be possible to keep the DBPro DLL's separate from the executable, but would need some tricky stuff to do it.

When I get time, I'll try it out for a single DLL.
Kangaroo2
23
Years of Service
User Offline
Joined: 26th Sep 2002
Location: United Kingdom
Posted: 25th Jan 2003 23:25
Shock Forge - Yes u r lol, its quite a good idea of yours but only as an option.

Vegeta - Yes I see your point now... You don't want to have to release a whole large new exe as a patch, for many reasons

Shadow Robert
23
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 26th Jan 2003 01:03
... erm well i'm not bothered i'm just sayin' i'd prefer the DLLs setup like C++

so anything we want included we use as a .Lib or a db equivilant

and anything we want included but not in the exe (mainly for update purposes, like newer Dx9 functions and such) then you include as a .DLL

would make llives easier

Anata aru kowagaru no watashi!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 26th Jan 2003 01:16
I said I'd try it

I've been thinking already, and I *should* be able to do it so that it's completely transparent to DBPro and relatively easy to implement.

Just need to code and test - but tomorrow, not tonight.
Shock
AGK Developer
23
Years of Service
User Offline
Joined: 24th Oct 2002
Location: United Kingdom
Posted: 26th Jan 2003 13:08
nice, your a fast worker I dont know, staying up till 11:15 are we? Ever tried programming when your drunk? You'll get good results trust me!

...::::ShockForge::::...

Ambient Software coming soon!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 26th Jan 2003 13:18
Tried it. The results were ... interesting
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 26th Jan 2003 13:23
Sounds like it didn't work...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
Shock
AGK Developer
23
Years of Service
User Offline
Joined: 24th Oct 2002
Location: United Kingdom
Posted: 26th Jan 2003 13:59
'interesting' lol

...::::ShockForge::::...

Ambient Software coming soon!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 26th Jan 2003 14:34
No, the code worked ... or at least it ran.
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 31st Jan 2003 01:33
I forgot all about this until tonight.

It is possible to create a proxy DLL to stand in for a DBPro DLL, at least for DBProBasic2DDebug.dll (the one I tried it with).

The basic system would be:
1) Make a copy of the Original - I called mine OriginalBasic2D.dll.
2) Make your replacement DLL using the original name DBProBasic2DDebug.dll and put it into the plugin folder.
3) Compile your program.
4) Put a copy of the OriginalBasic2D.dll into the program folder.
5) Run your program.

It will automatically load the OriginalBasic2D.dll when run, and the proxy will forward all calls to it.

You could do exactly the same with your own DLLs.

Oh yes, code available on request if you can't work it out for yourself And no warrenty either
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 31st Jan 2003 01:41
Interesting.. must admit I dont see much point to it, unless you want to replace parts of DBPro.

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 31st Jan 2003 01:44
Or replace them after release of the software. Thats what Raven was getting at.

This way allows you to keep the DBPro DLLs separate from the executable if you want.
MrTAToad
23
Years of Service
User Offline
Joined: 26th Aug 2002
Location: United Kingdom
Posted: 31st Jan 2003 01:48
Fair enough, although not leaving this are they are could cause future problems...

Good news everyone! I really am THAT good...
http://www.nickk.nildram.co.uk/ for great plug-ins - oh my, yes!
IanM
Retired Moderator
23
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 31st Jan 2003 01:56
Yes with the DBPro ones, but you can use this technique to get the best of both worlds with your own DLL's. TCP DLL's with the option (should you choose it) to drop a replacement DLL into the same directory, and it be used if it's there.

Login to post a reply

Server time is: 2026-06-11 14:43:50
Your offset time is: 2026-06-11 14:43:50