Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Helaas is mijn kennis van C# zeer gering, dus na veel geploeter heb ik eigenlijk nog geen resultaat. Kan ik de code op die website door Visual Studio .NET 2003 laten compileren tot een DLL en dan de methode GetLocation en de methode Extract oproepen?
Als ik ThumbnailCreator.cs download en open met Visual Studio, dan staan er tientallen fouten in. Als ik het complete project download dan converteert hij het keurig, en kan ik het voorbeeld wel bekijken...
Ikzelf programmeer in VB. Dat verklaard waarschijnlijk dat ik veel moeite heb om C# te doorgronden, vooral omdat het een vrij uitgebreid stuk code is...
[ Voor 99% gewijzigd door Swerfer op 27-02-2004 17:23 ]
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Maar nu krijg ik de volgende foutmelding:
Can not marshal return value: The type definition of this type has no layout information.
In mijn asp.net script heb ik de volgende code staan:
1
2
3
4
5
6
7
8
| Declare Function GetThumbnail Lib "Movie2Thumbnail.DLL"_ (ByVal FileName As String) As System.Drawing.Image sub page_load(obj as object, e as eventargs) dim test as System.Drawing.Image test = GetThumbnail("c:\blabla\blabla.mpg") test.save("c:\blabla\result.jpg") end sub |
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]
Sorry, maar dit gaat mij nog even boven mijn pet. Ik kan aardig wat programma's in elkaar draaien met VB maar ik heb nog nooit met dll of andere componenten gewerkt.Infinitive schreef op 27 februari 2004 @ 21:39:
Je hoeft die functie toch niet uit die DLL te rippen? Want die dll bevat toch managed code? Da kan je die dll toch gewoon als reference opnemen en de in het project gegeven namespace importeren en dan direct die klasse in vb.net gebruiken? Dan heb je dat probleem ook niet met typen.
Je hebt het over het probleem met typen (object soorten?), is daar niet een manier voor om de methode die ik probeer werkend te krijgen? Of kan je me anders een voorbeeld geven hoe ik het anders zou moeten aanpakken met die dll?
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Verwijderd
1
2
| Declare Function GetThumbnail Lib "Movie2Thumbnail.DLL"_ (ByVal FileName As String) As System.Drawing.Image |
op de voor jouw (waarschijnlijk) bekende VB manier een externe dll inlaadt.
Nu je in de .NET wereld terecht bent gekomen gelden er een hoop andere regels, een daarvan is dat je voor het aanspreken van dlls geschreven in andere talen - zolang deze maar op het .NET framework gecompileerd zijn (en dat kan dus met C#, VB.NET, J# etc.) - niet meer via "Lib" hoeft te werken maar met een referentie naar de dll kunt volstaan, het maakt dus niet meer uit of de code in C# of VB.NET geschreven is aangezien deze talen allebei dezelfde basis (CLI:Common Language Infrastructure) delen.
De foutmelding die je krijgt komt voort uit je gebruik van de Lib statement, deze wordt nog steeds ondersteund voor interop met oude code, dit gaat via COM en de foutmelding die je krijgt wordt waarschijnlijk veroorzaakt door het feit dat de .NET dll niet de juiste wrapper heeft meegekregen om via COM benaderd te worden.
1
2
| <%@ Page Language="VB" Codebehind="Movie2Thumbnail.cs"_ Inherits="vbAccelerator.Components.Shell.ThumbnailCreator" %> |
Could not load type 'vbAccelerator.Components.Shell.ThumbnailCreator'
Ik heb diverse voorbeelden van codebehind bekeken, maar daarmee heb ik mijn aspx script nog steeds niet werkend kunnen krijgen
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com