|
| |

ActiveX-Programmierung| DLL aufrufen | |  | | Autor: Friedrich | | Datum: 12.04.02 01:28 |
| Hallo
ich habe Probleme mit meiner ersten ActiveX-Dll
die DLL kann ich ohne Fehlermeldung erstellen
nur wenn ich die Standart.EXE starte kommt die
Fehlermeldung
Laufzeitfehler 91
Objektvariable oder With-Blockvariable nicht festgelegt
Der Fehler liegt warscheinlich in der DLL wo ich ein
Formloses Steuerelement eingefügt habe ( MsComm )
Lösche ich in der DLL alle Aufrufe die sich auf MsComm beziehen
kann ich aus der Standart.EXE die DLL ohne Fehler aufrufen.
Bitte wer kann mir bei diesen Problem helfen
Die Dateien können auch als ZIP.Datei von meiner HP unter
www.urlaubscam.de.vu/test runtergeladen werden.
vielen Dank
Friedrich
----------------- Standart.EXE ---------------
Private Sub Form_Load()
Dim obj As Application
Dim wert As String
Dim Com As String
Dim A As String
Com = "1"
A = "a0"
wert = obj.M232(Com, A) '<-- Fehlermeldung
Debug.Print wert
End Sub
------------------ Activex-DLL -----------------
Public Function M232(Com As String, A As String) As String
'MsCom OCX einbinden
Dim MsCom1 As MSComm 'liegt hier der Fehler ?
With MsCom1
' COM einsetzen.
.CommPort = 1
' 24000 Baud, keine Parität, 8 Datenbits und 0 Stopbit
.Settings = "2400,n,8"
' Steuerelement anweisen, daß es den gesamten
' Pufferinhalt lesen soll, wenn die Input-Eigenschaft
' verwendet wird.
.InputLen = 0
' _Anschluß öffnen.
.PortOpen = True
End With
MsCom1.Output = Chr$(1) 'BefehlsAnfang senden
For i = 1 To Len(A)
MsCom1.Output = Mid$(A, i, 1) 'Befehl ausgeben
Next i
MsCom1.Output = Chr$(13) 'BefehlsEnde senden
'Zeizverzögerung 100ms
Start = Timer ' Anfangszeit setzen.
Do While Timer < Start + 0.1
DoEvents ' Steuerung an andere Prozesse abgeben.
Loop
Ende = Timer ' Ende festlegen.
'wenn "a" oder "d" Wandlerwert abrufen
If Left(A, 1) = "a" Then
WertKanal$ = MsCom1.Input 'Antwort lesen
'Debug.Print "Wert= "; Left(WertKanal$, 3) 'Antwort lesen
M232 = Left(WertKanal$, 3) 'übergabe der Variable
ElseIf Left(A, 1) = "d" Then
WertKanal$ = MsCom1.Input 'Antwort lesen
'Debug.Print "Wert= "; Left(WertKanal$, 1) 'Antwort lesen
M232 = Left(WertKanal$, 1) 'übergabe der variable
End If
'Anschluß schließen
MsCom1.PortOpen = False
End Function |  |
 | 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 |
  |
|
sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
| |
|
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
|
|