create ramdisk from VBA

D

David

I have an UDF that accesses an external program that, in turn, accepts
inputs and provides outputs only via text file.
Since I have to solve an optimization problem, that UDF has to be called
many times with totally unsatisfactory performances.
In order to speedup data exchange between the UDf and the external program,
I am thinking to setup a ramdrive on the fly when the UDF is called.
I found imdisk (http://www.ltr-data.se/opencode.html/#ImDisk) but I cannot
figure out to call the api from VBA
(http://www.ltr-data.se/library/ImDiskNet/html/b33f1e89-3d92-fc08-248d-14c5c2efd549.htm).

I placed imdisk into a folder but I don't understand how to declare the
reference to the ImDiskAPI class on how to instantiate it.

can somebody help?
 
W

witek

David said:
I have an UDF that accesses an external program that, in turn, accepts
inputs and provides outputs only via text file.
Since I have to solve an optimization problem, that UDF has to be called
many times with totally unsatisfactory performances.
In order to speedup data exchange between the UDf and the external program,
I am thinking to setup a ramdrive on the fly when the UDF is called.
I found imdisk (http://www.ltr-data.se/opencode.html/#ImDisk) but I cannot
figure out to call the api from VBA
(http://www.ltr-data.se/library/ImDiskNet/html/b33f1e89-3d92-fc08-248d-14c5c2efd549.htm).

I placed imdisk into a folder but I don't understand how to declare the
reference to the ImDiskAPI class on how to instantiate it.

can somebody help?

I can look at that on weekend.
Generally their webpage says that you can download dll wrapper.
you can add it to references (tools references) in vba

next you have to look at c++ header file to see what function as exposed
what parameters are used and write vba entry point as for all other
imported functions. Check their docs. for 99% it should be there
somewhere.

what is your udf function? Can't it be done without passing data via file?
 
D

David

Il Fri, 26 Apr 2013 09:28:05 -0500, witek ha scritto:

I can look at that on weekend.
Generally their webpage says that you can download dll wrapper.
you can add it to references (tools references) in vba

I downloaded the ImDiskNet pack that includes the dll and other stuff. It
shouldn't need installation, anyway I run the included cmd file to add keys
to the registry.
I tried to refer it from VBA menu tools>referneces but I get an error.
next you have to look at c++ header file to see what function as exposed
what parameters are used and write vba entry point as for all other
imported functions. Check their docs. for 99% it should be there
somewhere.

I undertand that the ImDiskAPI class has all methods I need, but still I
don't understand how to reference it.
what is your udf function? Can't it be done without passing data via file?
It's a wrapper for and ultra old .exe file that IOs via file only. It cannot
be touched.

Thank you for your answer.
David
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top