vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

Suche Visual-Basic Code
Offtopic: AddressOf in VBA: 
Autor: unbekannt
Datum: 02.02.02 17:00

Hi Basti,

warst Du nicht derjenige, der die Anfrage bezüglich Combobox-Events hatte? Auf jeden Fall braucht man für viele WinAPI - Callbacks eine AddressOf-Funktion und die gibt es zwar in VBA - sie funktioniert aber nicht. Es wird immer ein Fehler ausgelöst, wenn man AddressOf eine Funktion zuweist.

Anbei eine Funktion, die den AddressOf-Operator ersetzt:

Private Declare Function GetCurrentVbaProject Lib "vba332.dll" _
   Alias "EbGetExecutingProj" _
   (hProject&) As Long
 
Private Declare Function GetFuncID Lib "vba332.dll" _
   Alias "TipGetFunctionId" _
   (ByVal hProject&, _
    ByVal strFunctionName$, _
    ByRef strFunctionId$) As Long
 
Declare Function GetAddr Lib "vba332.dll" _
    Alias "TipGetLpfnOfFunctionId" _
   (ByVal hProject&, _
    ByVal strFunctionId$, _
    ByRef lpfn&) As Long
 
 
Private Function vbaAddrOf(ByVal strFuncName As String) As Long
   Dim hProject As Long, lResult As Long, lpfn As Long
   Dim strID As String, strFuncNameUnicode As String
 
   vbaAddrOf = 0
 
   strFuncNameUnicode = StrConv(strFuncName, vbUnicode)
   Call GetCurrentVbaProject(hProject)
 
   If hProject <> 0 Then
      lResult = GetFuncID(hProject, strFuncNameUnicode, strID)
      If lResult = NO_ERROR Then
         lResult = GetAddr(hProject, strID, lpfn)
         If lResult = NO_ERROR Then vbaAddrOf = lpfn
      End If
   End If
 
End Function
cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wie macht man Verknüpfungen zu anderen UserForms?67Basti02.02.02 12:50
Re: Wie macht man Verknüpfungen zu anderen UserForms?336ModeratorDieter02.02.02 13:22
Re: Wie macht man Verknüpfungen zu anderen UserForms?50Basti02.02.02 15:11
Re: Wie macht man Verknüpfungen zu anderen UserForms?49Basti02.02.02 15:11
Re: Wie macht man Verknüpfungen zu anderen UserForms?347ModeratorDieter02.02.02 15:47
Offtopic: AddressOf in VBA:945unbekannt02.02.02 17:00

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