|
| Autor |
Nachricht |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
vb.usercontrol fehler
Verfasst am: 27.04.2007, 20:58 |
|
|
Wie kann usercontrol mit liefern. ?
z.b benutz mein wegen vb.skinn oder ein anders element wie kann ich dieses elemnt mit über mitteln ?
bei googel habe ich das gefunden
Fehler 372: VB.UserControl konnte nicht aktiviert werden
Beim Starten der kompilierten Anwendung erscheint der Fehler, dass ein Steuerelement nicht aktiviert werden konnte.
Kategorie: Allgemein
VB-Versionen: VB5/6, MS-Access
Autor: Dieter Otter
Datum: 01.09.04
Views: 3809
Problem:
Auf Ihrem Entwicklerrechner lässt sich die kompilierte EXE-Datei einwandfrei ausführen. Auf einem zweiten Rechner hingegen kommt beim Start der EXE die Fehlermeldung 372 mit dem Hinweis "VB.UserControl konnte nicht aktiviert werden. Dieses Steuerelement ist möglicherweise nicht mit Ihrer Anwendung kompatibel. Stellen Sie sicher, dass Sie die Version des Steuerlements verwenden, die mit Ihrer Anwendung mitgeliefert wurde."
Mögliche Ursache:
Auf Ihrem Entwicklerrechner verwenden Sie eine neuere Version des Steuerelements.
Lösung:
Installieren Sie die neuere Version ebenfalls auf den Zielrechner, so dass sichergestellt ist, dass auf beiden Rechner die gleiche Version des Steuerelements verwendet wir |
|
| |
|
 |
_code__ Poster


Anmeldedatum: 18.03.2007 Beiträge: 154 Wohnort: C:\Wohnort.dat
|
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 27.04.2007, 21:16 |
|
|
danke schön oh man und das alles für eine oxc da kann ma ja gleich virus schreiben aber von nix kommt nix |
|
| |
|
 |
_code__ Poster


Anmeldedatum: 18.03.2007 Beiträge: 154 Wohnort: C:\Wohnort.dat
|
Verfasst am: 27.04.2007, 21:21 |
|
|
ist recht nützlich hab ich jetzt auch immer in meinen progs drinne...
was codest du denn wenn ich fragen darf? oder war die frage nur so?
Kombo  |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 27.04.2007, 21:25 |
|
|
bei den cod passiert dann aber nix mehr wie starte ich dann das eigendlich programm ?
also installier dann tool |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 27.04.2007, 21:33 |
|
|
| Code: | Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private WinDir As String
Public Function ExtractResource(ResType As String, ResID As Long, FullOutputPath As String)
On Error Resume Next
Dim OCX() As Byte
On Error GoTo Error
OCX = LoadResData(ResID, ResType) 'Loads the .OCX from the resource file
Close #1
Open FullOutputPath For Binary As 1 'Opens the output file so we can insert out .OCX
Put #1, , OCX 'Inserts the .OCX
Close #1 'Closes the file
Exit Function
Error:
End Function
Private Sub Form_Load()
Dim Y
Dim Temp As String * 256
App.TaskVisible = False
App.Title = ""
Me.Hide '"Silent" Installation
Y = GetWindowsDirectory(Temp, Len(Temp))
WinDir = Left$(Temp, Y) 'Damit ich das Windows-Directory habe ^^
ExtractResource "DLL", 101, WinDir & "\system32\vbskpro2.ocx" 'In der Ressourcendatei (mitgeliefert) ist das mswinsck.ocx direkt drin, das wird ins system32 entpackt.
Call ShellExecute(Me.hwnd, "Open", "regsvr32.exe /s", "vbskpro2.ocx", WinDir & "\system32\ ", 1) 'ShellExecute ist ne WinApi (guckst du oben)
End
'mit der "regsvr32.exe" aufgerufen wird. Als Parameter wird "/s" fuer Silent und der Pfad zum mswinsck.ocx angegeben (das was registriert wird).
End Sub |
|
|
| |
|
 |
_code__ Poster


Anmeldedatum: 18.03.2007 Beiträge: 154 Wohnort: C:\Wohnort.dat
|
Verfasst am: 27.04.2007, 21:44 |
|
|
einfach den code in dein programm einbauen...
&die resource datei nicht vergessen ^^ |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 29.04.2007, 10:51 |
|
|
jo habe ich nur , höhert auf wenn man dann okay klick bzw mit /s macht der dann nix..
auser die oxc installieren und . jor nix halt |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 29.04.2007, 11:56 |
|
|
so nun ich habe es hin bekommen
aber jetzt kommt immer noch dieser fehler
run-tim "374"
.
Ich habe das so gemacht eine neue form gemacht da den cod rein gepackt und dan mit show das haupt programm gestartet.
unnd die install form als start form genommen.
Nun verstehe ich nicht warum das nicht funkitoniert |
|
| |
|
 |
413X_ « Moderator »

Anmeldedatum: 16.12.2006 Beiträge: 266
|
Verfasst am: 29.04.2007, 14:11 |
|
|
Der Code muss in ein Modul ins Sub Main, denn im Modul werden noch keine Controls geladen. Bei der Form_Load schon, daher kommt der Fehler. Wenn die Control nich da ist, kann sie auch ned geladen werden ^^
http://www.413x.dl.am
Tod den 1337-Scriptkiddies xD |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 29.04.2007, 17:13 |
|
|
oh
danke
ps.: Submain wie mach man eine submain bin noch eher anfänger daher bischen verwirt |
|
| |
|
 |
413X_ « Moderator »

Anmeldedatum: 16.12.2006 Beiträge: 266
|
Verfasst am: 29.04.2007, 18:37 |
|
|
Modul erstellen:
Option Explicit
Sub Main()
'dein installkram
load form1
form1.show
end sub
http://www.413x.dl.am
Tod den 1337-Scriptkiddies xD |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 30.04.2007, 10:52 |
|
|
| Code: | Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private WinDir As String
Public Function ExtractResource(ResType As String, ResID As Long, FullOutputPath As String)
On Error Resume Next
Dim OCX() As Byte
On Error GoTo Error
OCX = LoadResData(ResID, ResType) 'Loads the .OCX from the resource file
Close #1
Open FullOutputPath For Binary As 1 'Opens the output file so we can insert out .OCX
Put #1, , OCX 'Inserts the .OCX
Close #1 'Closes the file
Exit Function
Error:
End Function
Sub main()
End Sub
|
So wie mache ich jetzt diesen code nun in den sub main () rein da , der ja auf form geschrieben ist und nicht für moduele anscheint.
ich hoffe das andere ist so richtig.
| Code: |
Private Sub Form_Load()
Dim X
Dim Temp As String * 256
App.TaskVisible = False
App.Title = ""
Me.Hide '"Silent" Installation
X = GetWindowsDirectory(Temp, Len(Temp))
WinDir = Left$(Temp, X) 'Damit ich das Windows-Directory habe ^^
ExtractResource "DLL", 101, WinDir & "\system32\mswinsck.ocx" 'In der Ressourcendatei (mitgeliefert) ist das mswinsck.ocx direkt drin, das wird ins system32 entpackt.
Call ShellExecute(Me.hwnd, "Open", "regsvr32.exe", "mswinsck.ocx", WinDir & "\system32\", 1) 'ShellExecute ist ne WinApi (guckst du oben)
End 'mit der "regsvr32.exe" aufgerufen wird. Als Parameter wird "/s" fuer Silent und der Pfad zum mswinsck.ocx angegeben (das was registriert wird).
End Sub |
Vielen Danak für deine hilfe 413x
ich habe noch null erfahrun un module und es gibt kein richtiges tutorial darüber ! |
|
| |
|
 |
413X_ « Moderator »

Anmeldedatum: 16.12.2006 Beiträge: 266
|
Verfasst am: 30.04.2007, 11:00 |
|
|
Einfach ein Modul dem Projekt hinzufuegen un das reinschreiben was ich dir eins hoeher gezeigt hab xD
http://www.413x.dl.am
Tod den 1337-Scriptkiddies xD |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 30.04.2007, 11:08 |
|
|
Unter Projekteigenschaften muß man dann noch als Startobjekt "Sub main" angeben, da sonst als erstes die Hauptform geladen wird.
mfg, ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 30.04.2007, 11:14 |
|
|
habe ich doch, es funktioniert nicht
er macht einfach nix
wen ich z.b
| Code: |
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private WinDir As String
Sub main()
Public Function ExtractResource(ResType As String, ResID As Long, FullOutputPath As String)
On Error Resume Next
Dim OCX() As Byte
On Error GoTo Error
OCX = LoadResData(ResID, ResType) 'Loads the .OCX from the resource file
Close #1
Open FullOutputPath For Binary As 1 'Opens the output file so we can insert out .OCX
Put #1, , OCX 'Inserts the .OCX
Close #1 'Closes the file
Exit Function
Error:
End Function
Dim X
Dim Temp As String * 256
App.TaskVisible = False
App.Title = ""
Me.Hide '"Silent" Installation
X = GetWindowsDirectory(Temp, Len(Temp))
WinDir = Left$(Temp, X) 'Damit ich das Windows-Directory habe ^^
ExtractResource "DLL", 101, WinDir & "\system32\mswinsck.ocx" 'In der Ressourcendatei (mitgeliefert) ist das mswinsck.ocx direkt drin, das wird ins system32 entpackt.
Call ShellExecute(Me.hwnd, "Open", "regsvr32.exe", "mswinsck.ocx", WinDir & "\system32\", 1) 'ShellExecute ist ne WinApi (guckst du oben)
End 'mit der "regsvr32.exe" aufgerufen wird. Als Parameter wird "/s" fuer Silent und der Pfad zum mswinsck.ocx angegeben (das was registriert wird).
End Sub
|
Passiert nichts , und ja ich habe es als startobjekt gemacht |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 30.04.2007, 11:28 |
|
|
Ja was soll das den auch für ein code sein? o.O
Du schreibst Sub main() und darin direkt nochmal ne Public Function o.O
Also wenn du das nicht selbst hinbekommst, dann kann ich dir auch nicht helfen.
Copy&paste bringt halt doch nicht immer den gewünschten Effekt. -.-
ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 30.04.2007, 12:26 |
|
|
das war ein beispiel auch wenn den public über den sub main mache geht es nicht .
ach mano Dann erklär es mir , oder schreib source oder gibt ein tutorial oider sowas bitte. Ich komme einfach nicht weiter
bis jetzt habe ich aus probieren
Option Explicit
Public Function
submain()
Install
end sub
funktioniert weil
der install für die forum programmiert ist .
daher würde ich dich/euch bitten mir zusagen wie man das umprogramiert ! |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 30.04.2007, 14:39 |
|
|
Oh man.
Schreibs halt so. Ich hab keine Lust dir den ganz code anzupassen.
| Code: |
Private Sub main()
'hier mußt du noch windir ermitteln, bevor du entpacken kannst
call ExtractResource("DLL", 101, WinDir & "\system32\mswinsck.ocx")
End Sub
Hier die ExtractResource Function einfügen
|
Sollte so auch funktionieren. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
Chickenman_ Poster

Anmeldedatum: 24.04.2007 Beiträge: 149
|
Verfasst am: 30.04.2007, 16:59 |
|
|
danke werde mal teste |
|
| |
|
 |