Zabava s VS .NET
Pavel Hudeček
edizon na seznam.cz
Středa Září 17 21:30:39 CEST 2014
Dobrý den všem,
Tak nejprve jsem měl DLL vytvořené v Builderu a testoval ho ve VB 2008. To
fungovalo, jen když jsem v builderu nechal udělat 64b. No budiž.
Pak problém: komponeny Indy UDP negenerují události, pokud jsou v DLL.
Pak byla nedávná diskuse, jaké použít vývojové prostředí s C pro Win.
Stáhnul jsem instalačku Visual studia 2010 express a nainstaloval VB a VC.
Zjistil jsem, že VC nemůžu donutit, aby generovalo 64b kód.
Strávil jsem celý den různými marnými pokusy, až jsem se nakonec dobral k
instalaci jakéhosi SDK, které způsobí, že se tam oběví kromě Win32 i
možnosti x64 a Itanium.
Jenže od té doby zas veškeré pokusy o kompilaci čehokoli končily hláškou
Error 'LINK : fatal error LNK1123: failure during conversion to COFF: file
invalid or corrupt'
Nakonec jsem musel odinstalovat framework 4.5 a nainstalovat 4.
OK, nyní to kompiluje a i 64b.
Jenže jakákoli snaha o výrobu DLL ve VC++ a použití ve VB se míjí účinkem.
Když např. zkusím tuto ukázku:
http://msdn.microsoft.com/cs-cz/library/ms235636.aspx
tak vše funguje, program ve VC volá DLL psané též ve VC
Když totéž DLL zavolám z VB, jako jsem to dělal s tím DLL z Builderu, tedy s
použitím Declare, skončí to chybou
BadImageFormatException was unhandled
(tato hláška mi vznikala i s Builderem, pokud buildil 32b)
OK, asi se DLL vytvořené v .NET musí volat jinak.
Našel jsem tuto ukázku:
http://www.dreamincode.net/forums/topic/121314-creating-a-dll-and-using-it-
in-your-application/
vše funguje, program psaný ve VB volá DLL psané ve VB
Když jsem ovšem zkusil udělat program, kde stejným způsobem importuji DLL
MathFuncs z té ukázky pro VC, import se nezdaří, zobrazí se msgbox s chybou:
A reference 'C:\ ... .dll' could not be added. Please make sure that the
file is acessible, and that it is valid assembly or COM component.
A tato hláška se zobrazí při pokusu o import jakéhokoli jiného DLL než z té
ukázky ve VB.
Tak teď už teda fakt nevim...
PH
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140917/be96fbd4/attachment.html>
Další informace o konferenci Hw-list