anoniem Geplaatst: 29 juli 2007 Delen Geplaatst: 29 juli 2007 Hoi, ik heb een aantal I/O-kaarten van Advantech met analoge en digitale in- en uitgangen. Ze leveren netjes voorbeeld programma's bij. Alleen komen zij niet verder als C++. Ze leveren ook de .lib-bestanden. Maar ik heb geen flauw idee hoe je deze moet include in C#. De <include> bestaad namelijk niet meer in C#. Weet iemand raad? Bij voorbaat dank. Greetings, ErX. Quote Link naar reactie
anoniem Geplaatst: 29 juli 2007 Auteur Delen Geplaatst: 29 juli 2007 .lib files kan je niet in C# gebruiken inderdaad. Er zijn wel mogelijke oplossingen voor je. Een mogelijkheid is: Schrijf een unmanaged C++ DLL, en include hierbij de .lib file, en maak extern aanroepbare functies. Vervolgens kan je in C# via P/Invoke die functies aanroepen. Hiervoor is dus wel enige basiskennis van C++ noodzakelijk. Quote Link naar reactie
anoniem Geplaatst: 16 augustus 2007 Auteur Delen Geplaatst: 16 augustus 2007 Met Java kun je wrapper schrijven m.b.v. JNI. Nu lijkt C# heel veel op Java, je kent de slechte namen van C# vast wel. Zou MS daarom echt geen JNI-achtig gebeuren zoals Java hebben? Anders zou ik eens nadenken om je horizon wat breder te maken met C++. Oude taal, maar nog steeds samen met C de basistaal met hardware en embedded. Java en C# komen in opkomst, maar vooral C# heeft nog een lange weg te gaan (MS-only vloek). Quote Link naar reactie
anoniem Geplaatst: 18 augustus 2007 Auteur Delen Geplaatst: 18 augustus 2007 <offtopic>[quote:44385e6bed="Joris"] maar vooral C# heeft nog een lange weg te gaan (MS-only vloek).[/quote:44385e6bed]Uhm, volgens mij bestaat er ook nog iets als het Mono project ([url]www.mono-project.com[/url]), dus met dat MS-only valt het wel mee :wink: </offtopic> En dan nu ontopic: [url=http://geeklit.blogspot.com/2006/08/calling-c-lib-from-c.html]deze blogger[/url] legt uit hoe hij een C++ lib aanroept vanuit C# (zoals Capone ook al zegt). Ik heb het niet helemaal gelezen, maar het zal vast een uitgangspunt kunnen zijn.. Quote Link naar reactie
anoniem Geplaatst: 27 augustus 2007 Auteur Delen Geplaatst: 27 augustus 2007 Even off. Mono is inderdaad voor Linux, maar het blijft dat MS zelf weinig tot zeer weinig aan .NET beschikbaar maken buiten het MS-platform om. En Mono is niet echt gemakkelijk beschikbaar voor Unix en BSD. Mono blijft daarom ook altijd achter .NET van MS aanlopen. Vandaar dat je nog steeds over de MS-only-vloek kan spreken. Ik snap niet dat MS .NET gewoon helemaal beschikbaar maakt. Quote Link naar reactie
anoniem Geplaatst: 27 augustus 2007 Auteur Delen Geplaatst: 27 augustus 2007 [quote:b4ca245f30="Joris"]Ik snap niet dat MS .NET gewoon helemaal beschikbaar maakt.[/quote:b4ca245f30]Bekijk het eens vanuit Microsoft: waarom zouden zij .NET beschikbaar moeten maken voor platforms anders dan hun eigen (commerciele) platforms? Kost alleen maar geld en maakt het alleen maar makkelijker om andere (niet-Microsoft) platforms te draaien. Schieten ze niks mee op dus... Quote Link naar reactie
anoniem Geplaatst: 2 september 2007 Auteur Delen Geplaatst: 2 september 2007 [quote:23a581555a="Bill Gates"][quote:23a581555a="Joris"]Ik snap niet dat MS .NET gewoon helemaal beschikbaar maakt.[/quote:23a581555a]Bekijk het eens vanuit Microsoft: waarom zouden zij .NET beschikbaar moeten maken voor platforms anders dan hun eigen (commerciele) platforms? Kost alleen maar geld en maakt het alleen maar makkelijker om andere (niet-Microsoft) platforms te draaien. Schieten ze niks mee op dus...[/quote:23a581555a] Omdat je nu duidelijk begint te zien dat MS nu niet meer op de ivoren toren ziet. Je ziet meer en meer dat naast Windows weer gekeken wordt naar andere oplossingen. IT is ingeburgerd en dat resulteert erin dat de consumenten en klanten een grotere vraag naar keuze beginnen op te bouwen. Windows blijft grote markt behouden, maar het is niet meer altijd zo dat Windows de natuurlijke keuze is. MS ziet dat ook wel deels in en geeft daarom wel geld aan het Mono-project. Overigens mijn fout, .NET is beschikbaar voor iedereen. Maar het framework is gesloten. .NET moet ook beschikbaar zijn voor iedereen omdat het samen met Phillips ISO gecertificeerd is. Quote Link naar reactie
anoniem Geplaatst: 2 september 2007 Auteur Delen Geplaatst: 2 september 2007 Ja, in principe is het mogelijk om in C# andere functies te gebruiken. Via een DLL of een COM object is de oplossing het eenvoudigste te realiseren. Zelf heb ik een Delphi DLL geschreven om een aantal eigen functies en een paar handige library functies te kunnen gebruiken. En deze DLL maakt ook gebruik van IO poorten. Alleen wanneer je zo'n DLL hebt, dan moet je vaak nog wel even puzzelen om de juiste C# wrapper code te schrijven. Mijn advies om het interface zo eenvoudig mogelijk te laten. Kun je een voorbeeld functie noemen die je graag wilt gebruiken? Welk soort IO vindt er plaats. Rechtsteeks aansturen van een IO poort of wordt dat voor je verborgen gehouden. Dus graag wat meer specifieke informatie, misschien zelfs al een kant en klare oplossing beschikbaar ... Quote Link naar reactie
anoniem Geplaatst: 2 september 2007 Auteur Delen Geplaatst: 2 september 2007 Zit de hardware hier bij? http://www.advantech.com.tw/eAutomation/CMScontent-news.asp?doc_id={612E7E22-95F1-42A6-A63F-938C1C3F6E4 Voor PCI-1735U zag ik dat er een OCX als een DLL bestaat. Dus wat gebruik jij? Quote Link naar reactie
anoniem Geplaatst: 7 oktober 2007 Auteur Delen Geplaatst: 7 oktober 2007 [quote:89961a427a="Bill Gates"][quote:89961a427a="Joris"]Ik snap niet dat MS .NET gewoon helemaal beschikbaar maakt.[/quote:89961a427a]Bekijk het eens vanuit Microsoft: waarom zouden zij .NET beschikbaar moeten maken voor platforms anders dan hun eigen (commerciele) platforms? Kost alleen maar geld en maakt het alleen maar makkelijker om andere (niet-Microsoft) platforms te draaien. Schieten ze niks mee op dus...[/quote:89961a427a] Toch is Microsoft bijgedraaid: http://tweakers.net/nieuws/49653/microsoft-opent-broncode-net-framework.html. Trouwens, je kan met Reflector al sinds jaar en dag de broncode van .NET inzien. Deze disassembleert de libraries en vertaalt de IL code naar leesbare C# code. On-topic: het schrijven van een Managed C++ wrapper is vrij eenvoudig hoor. Je moet wel C++ basiskennis hebben en even weten hoe je (.NET) classes maakt in C++, maar het kan zonder weinig diepgang. Je kunt op internet voldoende informatie hierover vinden. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen