vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Pinvoke , Marshal Problem 
Autor: becks
Datum: 09.08.05 13:31

hallo, ich versuche verzweifelt funktionen einer dll aufzurufen, vieleicht kann mir hier jemand helfen.


hier ein teil der DLL Doku:---------------------------------------------------------
procedure CreateServerAndMakeListenToClients( vProcessProc: TProcWithPChar;
vWriteToLogProc: TProcWithPChar;
onClientConnectProc: TProc;
onClientDisconnectProc: TProc;
vPort: PChar);

Procedure creates Server communication object, with defined parameters and starts waiting for Client(s).
This procedure is used by Server application - remote control program.
Input parameters are:

vProcessProc: TProcWithPChar - define pointer to procedure which will be called every time Server
receives message(s) from Client.

vWriteToLogProc: TProcWithPChar - define pointer to procedure which is useful especially during
debugging of Server program. Procedure is called when any of basic Client-Server communication events
occures.
Communication events are: connect/disconnect Client-Server, send message to Client, receive message
from Client. Procedure can contain user defined write to memo or log window of Server application.

onClientConnectProc: TProc - procedure is called as event when Client is connected to Server

onClientDisconnectProc: TProc -
procedure is called as event when Client is disconnected from Server
vPort - defines port for TCP communication (default is 'telnet')
Server does not have address defined itself. Internally Server has defined address 0.0.0.0, which means,
that Server accepts Clients from all interfaces.



das ist die Doku zu einer der Funktionen die ich aufrufen will

im Moment versuch ich es so:

'Delegate wird erzeugt
Public Delegate Sub makeDelegate(ByVal line As String)
Public Delegate Sub makeDelegate(ByVal line As String)
Public Delegate Sub makeDelegate2()
Dim objDelegateWithStringParam As makeDelegate
Dim objDelegateWithoutpar As makeDelegate2
'pointer wird eine Adresse zugewiesen
objDelegateWithStringParam = AddressOf meineFunction
objDelegateWithoutpar = AddressOf meineFunction2
<DllImport("remotelb.dll", _ EntryPoint:="CreateServerAndMakeListenToClients", _
SetLastError:=True, CharSet:=CharSet.Unicode, _
ExactSpelling:=True, _
CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function MeinAlias(ByVal vProcessProc _ As makeDelegate, ByVal _
WriteToLogProc As makeDelegate, _ ByVal vPort As makeDelegate2, ByVal vAddr As _
_ makeDelegate2)
' Leave function empty - DLLImport attribute _ forwards calls to 
' CreateServerAndMakeListenToClients to _
' CreateServerAndMakeListenToClients in _ remotelb.DLL.
End Function
und so der aufruf

MeinAlias(objDelegateWithStringParam, objDelegateWithStringParam, _
  objDelegateWithoutpar, objDelegateWithoutpar)
ach ja das ganze hab ich ntürlich auch schon mit declare versucht? was mach ich falsch? wie muß ich die Variablen deklarien damit das marshalen funktioniert???
oder mach ich was ganz falsch?
Bei anderen funktion mit datentypen wie integer oder Boolean ist alles kein Problem.

aber hier bekomme ich immer die Fehlermeldung

Eine nicht behandelte Ausnahme des Typs 'System.Runtime.InteropServices.MarshalDirectiveException' ist in Smartprog.exe aufgetreten.

Zusätzliche Informationen: PInvoke-Einschränkung: Es können keine Varianten zurückgegeben werden


wäre toll wenn mir mal jemand weiterhelfen könnte
die Dll heist remotlb.dll und ist hier enthalten

http://www.elnec.com/sw/pg4uwarc.exe
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Pinvoke , Marshal Problem4.020becks09.08.05 13:31
Re: Pinvoke , Marshal Problem1.798Urot09.08.05 16:10
Re: Pinvoke , Marshal Problem1.580becks10.08.05 12:36
Declare, DLLImport1.536abuechne11.06.07 15:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel