Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Amethyst_
Poster
Poster

Anmeldedatum: 24.02.2007
Beiträge: 172

Load Ressource
Verfasst am: 21.05.2007, 13:03

Hey,

Es geht darum, dass ich mir von VBFun (oder so) ein Steuerelementset runtergeladen habe. Nun muss ich ja dem Benutzer von meinem Prog logischerweise die dazugehörende OCX -Datei mit geben. Diese habe ich in eine RES gepackt, damit er beim Form_Load sie aus der RES ins system32 kopiert. Dies klappt aber irgendie nicht:
[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)
Close #1
Open FullOutputPath For Binary As 1
Put #1, , OCX
Close #1 'Closes the file
Exit Function
Error:
End Function

Private Sub Form_Load()

Dim X
Dim Temp As String * 256


App.TaskVisible = False
App.Title = ""
Me.Hide

X = GetWindowsDirectory(Temp, Len(Temp))
WinDir = Left$(Temp, X)

ExtractResource "DLL", 101, WinDir & "\system32\CoolXPButton.ocx"
Call ShellExecute(Me.hwnd, "Open", "regsvr32.exe", "CoolXPButton.ocx", WinDir & "\system32\", 1)

Form1.Show

End Sub[/code]

Es steht zwar da, dass diese CoolXPButton.ocx mit der regsvr32 installt wurde, aber in Wirklichkeit ist das nicht passiert, und mein (Test-)Benutzer kann das Prog nicht starten..

Frage: Was ist an dem Code falsch?
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 21.05.2007, 13:12

Wenns da steht das es installiert wurde, dann ist es auch so xD
ich versteh dein prob ned Very Happy

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
Amethyst_
Poster
Poster

Anmeldedatum: 24.02.2007
Beiträge: 172


Verfasst am: 21.05.2007, 13:31

Fragen wir mal anders^^:
Ist der Code richtig?
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 21.05.2007, 13:32

Ja Very Happy

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 21.05.2007, 13:38


Die Prozedur zum entpacken sollte in einem Modul und der Sub main stehen.

Modul:
[code]
Private Sub main()

End Sub
[/code]

In den Eigenschaften deines Projektes mußt du noch das Startobjekt auf sub main umstellen.
Ob das dein Problem löst kann ich dir nicht sagen, aber auf jedenfall ist das wichtig, da es sonst nicht zum entpacken kommen kann auf Systemen bei denenen die ocx Datei fehlt.

mfg, ZiG
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: coolxpbutton, load, ocx, ressource, res, regsvr32

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 983 09.06.2011, 13:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2612 06.03.2008, 21:19
Keine neuen Beiträge ListView speichern & laden 1331 05.08.2008, 13:32
Keine neuen Beiträge Registry & Co Fragen 1203 03.05.2007, 10:57
Keine neuen Beiträge Listbox speichern & laden 2270 22.03.2007, 21:25
 


[ Time: 0.0627s ][ Queries: 92 (0.0224s) ][ GZIP on - Debug on ]