Bei mir gehts immernoch nicht...
Lass ich Compatibility.VB6.FixedLengthString() bei beiden auf 100 gehts, aber läst nichts langes zu. Setze ich es z.B bei beiden auf 1000 (oder auch nur 500) geht weder etwas kurzes ("1") noch längeres nicht mehr.
Ist dein builder Beispiel ThePapst
Builder:
Code:
Public Class frmMain
' Builder Sample - by The Papst
' 28-09-08
' Sample for Gumball & free-hack.com
Dim VB6setting As New Compatibility.VB6.FixedLengthString(1000)
Private Sub cmdErstellen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdErstellen.Click
' Öffne CommonDialog
SaveFileDialog1.ShowDialog()
' Übergebe die einzelnen Builder einstellungen an die definierten String,s
Dim FTPString As String = txtFTP.Text
Dim Name As String = txtName.Text
Dim Password As String = txtPass.Text
' Builder-Stub an eine Variable übergeben | .exe würde auch gehen , in meinem fall wähle ich ein eigenes format (.bp = builder projekt)
Dim BuilderStub As String = My.Application.Info.DirectoryPath & "\Stub\Stub.bp"
' Erstelle eine Copy von der Stub die im CommonDialog gewählten ordner
IO.File.Copy(BuilderStub, SaveFileDialog1.FileName)
'speichere die einstellungen ab ( "+~*" ist das splitzeichen )
'um die einzelnen optionen , in der stub wieder voneinadner zu trennen
VB6setting.Value = FTPString & "~" & Name & "~" & Password
' Öffne Die Builder Stub und hänge die Informationen an
' danch wird die Datei wieder geschlossen
FileOpen(1, (SaveFileDialog1.FileName), OpenMode.Binary)
FilePutObject(1, VB6setting.Value, LOF(1) + 1)
FileClose(1)
' Nachdem die Datei erstellt wurde , geben wir noch eine MessageBox aus
' Um den Benutzer darüber zu Informieren , das der Buildforgang
' Erfolgreich abgeschlossen wurde!
MsgBox("Die Datei wurde erfolgreich erstellt!", MsgBoxStyle.Information, "Builder Sample - by ThePapst")
End Sub
End Class
Stub:
Code:
Public Class fixedTestStub
' Builder Sample - by The Papst
' 28-09-08
' Sample for Gumball & free-hack.com
Dim Befehle() As String
Dim VB6setting As New Compatibility.VB6.FixedLengthString(1000)
Private Sub fixedTestCompiler_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Definiert die Stub als variable
' der zielpfad ist natürlich die datei selbst , um zu ermitteln wie die datei selber heißt
' wählen wir zuerst das application Directory und benutzen dann den befehl
' My.Application.Info.AssemblyName = gibt den eigentlichen exe namen aus
Dim Stub As String = Application.ExecutablePath
Dim file2 As String = Stub.Substring(0, Stub.IndexOf(".")) & "bp.exe"
' Öffne die datei und Lese die angehanggenen Informationen aus
IO.File.Copy(Stub, file2)
FileOpen(1, (file2), OpenMode.Binary)
' Ermittle informationen
FileGet(1, VB6setting.Value, LOF(1) - 99)
' Schließe Die datei
FileClose(1)
' Zerlege den Kompletten String , in die einzelnen Optionen
' Split zeichen muss bei Builder und Stub gleich sein!
Befehle = VB6setting.Value.Split("~")
' Lösche Die DateiKopie
IO.File.Delete(file2)
' Übergebe die Zerlegten Informationen an variablen
Dim FTP As String = Befehle(0)
Dim Name As String = Befehle(1)
Dim Password As String = Befehle(2)
' Gebe zum Test (zum überprüfen ob alle Informationen Korrekt übergeben wurden)
' Eine Message Box aus
MsgBox("FTP: " & FTP & ControlChars.CrLf & "Name: " & Name & ControlChars.CrLf & "Passwort: " & Password, MsgBoxStyle.Information, "Server Builder - Stub")
' Schliesse die Anwendung
Me.Close()
End Sub
End Class