home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / os / mswindo / programm / misc / 1077 < prev    next >
Encoding:
Internet Message Format  |  1992-07-29  |  1.9 KB

  1. Path: sparky!uunet!gatech!wrdis01!aedc-vax.af.mil!fuller
  2. From: fuller@aedc-vax.af.mil
  3. Newsgroups: comp.os.ms-windows.programmer.misc
  4. Subject: Re: Note about Zortech C++ DLL bug
  5. Message-ID: <1992Jul29.122826.28@aedc-vax.af.mil>
  6. Date: 29 Jul 92 18:28:26 GMT
  7. References: <60719996@aedc-vax.af.mil> <187a8fa6@p1.f36.n245.z2.fidonet.org>
  8. Organization: Arnold Engineering Development Center
  9. Lines: 25
  10.  
  11. In article <187a8fa6@p1.f36.n245.z2.fidonet.org>, Thomas_Hornschuh@softstream.fido.de (Thomas Hornschuh) writes:
  12. > f > The Zortech compiler version 3.0 release 4 has problems creating DLLs that
  13. > f > can be imported dynamically at Run-time.  This is important because
  14. > f > this is the way that Visual Basic supports DLL calls.  I have been working
  15. > If you call LoadLibary self, you can call it just twice. The first time the DLL 
  16. > ist loaded, but an invalid handle is returned (don't know why!). The second 
  17. > time you get an valid handle. The Refcount is 2, so you need two FreeLibrary 
  18. > calls (both with the handle from the second call).
  19. > Unfortunatly in VB you can't control the way the DLL is loaded, so this 
  20. > workaround does not fit.
  21. > But the LoadLibrary of Zortech generated DLL's always returns a valid handle 
  22. > when the DLL is in already loaded, either implicitly or with another 
  23. > LoadLibrary. So you either call LoadLibrary from your Visual Basic Code before 
  24. > VB does it, or if this is impossible, write a small loader program consisting 
  25. > only of a LoadLibrary and waiting for a WM_QUIT Message.
  26.  
  27. I played around with the compiler some more and found out that the problem is
  28. that Zortech creates DLLs that have a problem with run-time loading if there
  29. are lower case letters in the function names.  If you name all of the functions
  30. that you want to call with upper case letters, it works fine.  I told a guy
  31. at support about the problem and what my solution was.  They were unaware of
  32. the problem.  The fix will be out "real soon now". fine. 
  33.