<html><body>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)<br><br>Chybu by měl odstranit service pack 1 do Visual studia.<br><br>Honza<br><p>---------- Původní zpráva ----------<br>Od: Pavel Hudeček <edizon@seznam.cz><br>Komu: hw-list@list.hw.cz<br>Datum: 17. 9. 2014 21:30:54<br>Předmět: Zabava s VS .NET</p><br><blockquote><div>Dobrý den všem,<br><br>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ž.<br><br>Pak problém: komponeny Indy UDP negenerují události, pokud jsou v DLL.<br><br>Pak byla nedávná diskuse, jaké použít vývojové prostředí s C pro Win.<br><br>Stáhnul jsem instalačku Visual studia 2010 express a nainstaloval VB a VC.<br><br>Zjistil jsem, že VC nemůžu donutit, aby generovalo 64b kód.<br><br>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.<br><br>Jenže od té doby zas veškeré pokusy o kompilaci čehokoli končily hláškou<br>Error 'LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt'<br><br>Nakonec jsem musel odinstalovat framework 4.5 a nainstalovat 4.<br><br>OK, nyní to kompiluje a i 64b.<br><br>Jenže jakákoli snaha o výrobu DLL ve VC++ a použití ve VB se míjí účinkem.<br><br>Když např. zkusím tuto ukázku:<br>http://msdn.microsoft.com/cs-cz/library/ms235636.aspx<br>tak vše funguje, program ve VC volá DLL psané též ve VC<br><br>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<br>BadImageFormatException was unhandled<br>(tato hláška mi vznikala i s Builderem, pokud buildil 32b)<br><br>OK, asi se DLL vytvořené v .NET musí volat jinak.<br><br>Našel jsem tuto ukázku:<br>http://www.dreamincode.net/forums/topic/121314-creating-a-dll-and-using-it-in-your-application/<br>vše funguje, program psaný ve VB volá DLL psané ve VB<br><br>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:<br>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.<br>A tato hláška se zobrazí při pokusu o import jakéhokoli jiného DLL než z té ukázky ve VB.<br><br>Tak teď už teda fakt nevim...<br><br>PH<br><br></div>_______________________________________________<br>HW-list mailing list - sponsored by www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list</blockquote></body></html>