Zabava s VS .NET
Halen na seznam.cz
Halen na seznam.cz
Čtvrtek Září 18 13:01:17 CEST 2014
Musíte kompilovat do 64b? Já bych se tomu vyhnul obloukem. Z vlastní
zkušenosti doporučuji kompilovat do 32 bit. Visual studio express standardně
nepodporuje kompilaci do x64 a další funkce (jako vytváření services)
Chybu by měl odstranit service pack 1 do Visual studia.
Honza
---------- Původní zpráva ----------
Od: Pavel Hudeček <edizon na seznam.cz>
Komu: hw-list na list.hw.cz
Datum: 17. 9. 2014 21:30:54
Předmět: Zabava s VS .NET
"
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
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list"
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140918/3f409ce4/attachment.html>
Další informace o konferenci Hw-list