Folgendes Szenario: Sie haben eine eigene ActiveX-DLL programmiert und möchten jetzt beim Initialisieren der DLL prüfen, ob ein Programm, welches die DLL als Verweis eingebunden hat, in der Entwicklungsumgebung von VB ausgeführt wird oder als kompilierte EXE-Datei. Fügen Sie hierzu folgenden Code in das Klassenmodul der ActiveX-DLL: ' benötigte API-Deklaration Private Declare Function GetModuleFileName Lib "kernel32" _ Alias "GetModuleFileNameA" ( _ ByVal hModule As Long, _ ByVal lpFileName As String, _ ByVal nSize As Long) As Long ' Wird die DLL in der IDE oder aus einer ' kompilierten EXE-Datei heraus aufgerufen? Private Function IsIDE() As Boolean Dim nResult As Long Dim sName As String sName = Space$(255) nResult = GetModuleFileName(0, sName, Len(sName)) If nResult > 0 Then sName = UCase$(Left$(sName, nResult)) If InStr(sName, "\") > 0 Then sName = Mid$(sName, InStrRev(sName, "\") + 1) IsIDE = (sName = "VB4.EXE" Or sName = "VB5.EXE" Or sName = "VB6.EXE") End If End Function Der Aufruf erfolgt dann bspw. im Initialize-Ereignis des Klassen-Moduls: Private Sub Class1_Initialize() If Not IsIDE() Then MsgBox "Hinweis! ..." End If End Sub Dieser Tipp wurde bereits 11.355 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
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. |