| View previous topic :: View next topic |
| Author |
Message |
jwfv Valued Contributor

Joined: 19 Mar 2002 Posts: 422 Location: Beaufort, SC
|
Posted: Fri Mar 14, 2003 3:32 pm Post subject: Non-VDS .Dlls in VDS5 |
|
|
I see in the VDS5 discussions that version 5 will have the ability to use non-VDS .dlls. This ties in with a question I had about using the DLL that is provided with programs such as certain database servers. I was hoping that this would be a more reliable way (and simpler) to communicate with them than using ODBC.
But someone posted the warning that using this new function of VDS5 would be pretty difficult. Can anyone post any more information? I have used some VDS extension DLLs, and it worked well. Just issuing commands and getting results of functions. Would non-VDS DLLs be different?
Thanks,
Joe Floyd |
|
| Back to top |
|
 |
ACE Valued Newbie

Joined: 05 Sep 2002 Posts: 34
|
Posted: Fri Mar 14, 2003 5:27 pm Post subject: |
|
|
I think that the procces of working with nonVDS dll will be pretty much like working with gadget.dll from Mindpower, you have to declare the fuctions to use, and declare or create the parameters(sometimes you have to make a fuction just to get a parameter) , but you have to deal with a lot of other data types like DWORDS, FLOATS, HANDLES, POINTERS to other data type and so. It will require a little extra steps (or a lot of steps), you cant just type the fuction name along with params and get the result in one line. But if VDS5 have acces to all the dlls, you end with a proggraming language. Check the gadget examples.
Lioric |
|
| Back to top |
|
 |
jules Professional Member


Joined: 14 Sep 2001 Posts: 1043 Location: Cumbria, UK
|
Posted: Fri Mar 14, 2003 6:08 pm Post subject: |
|
|
I've not used Gadget since it's generally easy enough for me just to knock up a quick extension for any API call I want to access, but having briefly looked at the spec. of Gadget I'd agree.
Here's an example of a VDS 5 function to use the PostMessage API function:
| Code: |
#define command,postmsg
:postmsg
LOADLIB USER32
%H = @strdel(@winexists(%1),1,1)
if %H
%H = @lib(USER32,PostMessageA,bool:,int:%H,int:%2,int:%3,int:%4)
else
ERROR -1
end
exit
|
That probably looks simple enough, but it's one of the easy ones. Many of the most powerful API's need to work with data structures containing various different bits of information. VDS 5 does have some new functions that allow you to build a structure in a VDS variable and then pass its address to an API function. The trouble is, if you get things wrong calling an API function you won't get a nice error message in the debugger: more likely you'll crash VDS. So it can be hard work.
I'd say that the main use of the @lib function is to access simple things like PostMessage. But as I think someone pointed out earlier, it's possible to do things like FTP upload or download by calling the wininet.dll API. _________________ The Tech Pro
www.tech-pro.net |
|
| Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Sat Mar 15, 2003 1:33 am Post subject: |
|
|
Is VDS 5 able to call and use ActiveX/OCX objects/files?  _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
| Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Mar 20, 2003 1:07 am Post subject: |
|
|
And, since I'm not an advanced DLL programmer I don't know this:
How do you know what you're doing -- I mean, you can't possibly know
what commands/functions/APIs/etc. are inside it just by looking at it.
I'm confused.  _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
| Back to top |
|
 |
SnarlingSheep Professional Member


Joined: 13 Mar 2001 Posts: 759 Location: Michigan
|
|
| Back to top |
|
 |
vdsalchemist Admin Team

Joined: 23 Oct 2001 Posts: 1448 Location: Florida, USA
|
Posted: Thu Mar 20, 2003 1:50 pm Post subject: |
|
|
Hey a subject about VDS 5 I can sink my teeth into Ok SnarlingSheep and FreezingFire if you goto MSDN's site and type a function name you can get all the information about that function. For a good listing of most of the Win32 API's functions you can look at http://www.vdsworld.com/~dragon_sphere/Win32hlp.zip Warning this is a pretty big file. Also to get a listing of the Win32 API in both Visual Basic and Gadget's syntax I wrote a converter that will convert VB to Gadget's syntax but the win32api.txt file has the list of API functions ya need. You can download this utility at my website http://dragonsphere.vdsworld.com Also that file has most of the constants listed as well which you will need. I will be updating it to work with VDS 5's syntax soon. So if you have some VB code that you got somewhere you will be able to convert it to VDS. I may be setting up a forum on my site to use as a workshop to help the VDS users learn to call NON-VDS DLL's. I will keep everyone posted about this.
Also note normal VDS dll's will still work with VDS 5.
Edited by FreezingFire to correct URL _________________ Home of
Give VDS a new purpose!
 |
|
| Back to top |
|
 |
Mac Professional Member

Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
|
| Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Mar 20, 2003 4:01 pm Post subject: |
|
|
Because of the way VDSWORLD hosts its subdomains, file requests are
not forwarded through.
You'll have to visit:
http://www.vdsworld.com/~dragon_sphere/Win32hlp.zip
 _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
| Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Thu Mar 20, 2003 4:06 pm Post subject: |
|
|
Also, I talked to mindpower and set up a category on http://developer.vdsworld.com/
for calling non-VDS DLLs from VDS.
So if you ever need help on that, visit the Developer Forum _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
| Back to top |
|
 |
Mac Professional Member

Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Thu Mar 20, 2003 4:09 pm Post subject: |
|
|
Thanks FF  _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
 |
|
| Back to top |
|
 |
vdsalchemist Admin Team

Joined: 23 Oct 2001 Posts: 1448 Location: Florida, USA
|
Posted: Fri Mar 21, 2003 1:54 pm Post subject: |
|
|
Sorry about the address. I keep forgetting that. I don't know why we can't do that but it would be nice if we could  _________________ Home of
Give VDS a new purpose!
 |
|
| Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Fri Mar 21, 2003 2:14 pm Post subject: |
|
|
I think it's because the subdomain point directly to VDSWORLD.com and
then special processing takes place. However, you can link to your files
through the subdomain by using something like the following:
http://dragonsphere.vdsworld.com/~dragon_sphere/Win32hlp.zip _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
| Back to top |
|
 |
|