After searching all threads and people having problems
loading the dynamic DLL i started with my BCB
experience to search the problem.
- I compiled id3lib.dll using Visual C++ 6 and copied to a
project directory.
- Ran ImpDef over the dll and removed all rows with a ?
from the def file
- Ran ImpLib over the def file to get the library for BCB 4
- Edited id3.h
Then i put it in a project and it compiled without any
error :)
Now we only have to see if it realy works.
Maybe this is also the solution for BCB 5 and 6.
If it doesn't work here's another way which also works
with static dll's:
----------------------------------------
tageditor.h:
----------------------------------------
typedef WINSHELLAPI ID3Tag* (WINAPI *pID3Tag_New)
(void);
HINSTANCE hID3Lib;
pID3Tag_New ID3Tag_New;
----------------------------------------
tageditor.cpp
----------------------------------------
hID3Lib = LoadLibrary("ID3LIB.DLL");
ID3Tag_New = (pID3Tag_New)GetProcAddress
(ID3Lib, "_ID3Tag_New@1");
ID3Tag* Tag = ID3Tag_New();
id3.h for Borland C++ Builder 4
Logged In: YES
user_id=327967
Ok i made an account so peeps can contact me.
The new id3.h is attached btw.
When someone needs it i can created the dynamic part as
described above and shall post it.
The dynamic part can be used in Delphi, BCB, VB, VC and
others to use multiple instances of 1 library when the dll
uses _stdcall.