Frage zu Relase

  • VB.NET

Es gibt 38 Antworten in diesem Thema. Der letzte Beitrag () ist von AliveDevil.

    Frage zu Relase

    Hi leute, ich habe mir hier einen Player zusammen gebastelt...
    der shaut so aus:

    habe eigene Buttons erstellt (.dll) und hab die logisher weise für
    den Player auch genutzt... läuft auch alles Super

    doch:

    wen ich nun "Projekt Erstellen" mache, und in den Relase Ordner gehe, sind hier die
    ganzen Button.dll's, und da ja nicht jeder meine Buttons haben soll...
    möcht ich eigentlich nicht die ganzen .dll's in eine .rar datei packen,
    auch im Setup möcht ich die Nicht mithabn, ist das irgendwie möglich, bzw. welche
    möglichkeiten gibt es genau?

    Ich hoffe ihr könnt mir helfen :)
    @

    NetworkStorm schrieb:


    Ohne die dll´s kann dein Programm nicht laufen. Sie werden also unbedingt benötigt. Entweder bringst du die Buttons direkt in dein Programm ein oder du musst dir etwas einfallen lassen.
    +

    AliveDevil schrieb:


    Die ganzen Buttons in RAR Packen bringt nichts: programm kann nicht drauf zugreifen
    1. und einzige Möglichkeit: Copy&Paste der Buttons in Code -> Programm wird größer; Keiner kann drauf zugreifen
    danke für die Antwort hat mir zwar geholfen, zu verstehn wie ich handeln solte, nun aber das mit den Buttons in den Code Rein,
    wie bring ich die den da rein? Habe die Buttons als Klassenbibliothek erstellt, kann es sein das ich die Zeilen von da nehmen muss?

    könntet ihr mir sagen wie ich das ungefähr realiesern könnte?

    MFG SwisSeRy

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SwisSeRy“ ()

    Schau dir mal mein Tutorial an: [VB 2008] DLLs in Resourcen einbinden & Verweis darauf

    das kannst du für beliebig viele DLLs wiederholen^^

    MfG, Live

    //Edit: Oder du gehst bei deinem Form-Projekt auf Neues Element hinzufügen -> Klassendatei .vb
    dann hast du eine neue .vb Datei... da musst du deinen Quellcode der Klassenbibilothek einfügen und bei Form1 oder so ein Imports darauf hinzufügen.
    --- Zurzeit inaktiv ---
    Die DLLs lassen sich auch aus den Ressourcen holen und wenn man den Code direkt in die EXE kompilieren würde, könnte man auch darauf zugreifen. Afaik gibt es keine Möglichkeit, dies zu verhindern.
    Du könntest das Programm mit "netz" oder "AssemblyCompressor" packen, aber ganz verhindern lässt sich das nicht.
    EDIT: Die meisten Leute sind auch so nett, dass sie dich um Erlaubnis fragen, wenn sie eine Komponente aus deinem Programm benutzen wollen.

    Viele Grüße, Phil.
    @ lace lool? sag mal hast du auch im richtigen Relase Order gekuckt? xD

    @ Thread

    ich hab dafür das Problem das ich die Dll's nicht raus aus dem Relase bringe,
    habe das Tut von Live angeschaut, versucht nachzuvolziehn, und mall alle meine dll's so eingefügt,
    speichern alle, Erstellen und dan im Relase ordner und siehe da trozdem sind alle Buttons bzw. dll's vorhanden...

    wat mach ich nur fahlsh...
    wenn du die buttons selber gemacht hast geh in das projekt wo du sie gemacht hast und hol dir die usercontrols aus dem control raus und mach sie einfach bei deinem player rein...

    dann werden sie gleich als usercontrol mit erstellt


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    SwisSeRy schrieb:

    @ lace lool? sag mal hast du auch im richtigen Relase Order gekuckt? xD

    @ Thread

    ich hab dafür das Problem das ich die Dll's nicht raus aus dem Relase bringe,
    habe das Tut von Live angeschaut, versucht nachzuvolziehn, und mall alle meine dll's so eingefügt,
    speichern alle, Erstellen und dan im Relase ordner und siehe da trozdem sind alle Buttons bzw. dll's vorhanden...

    wat mach ich nur fahlsh...



    Die DLLs sind zwar noch vorhanden... aber du brauchst trotzdem nur die exe zu kopieren... führ sie doch einfach mal in einem seperaten Ordner aus ;)

    MfG, Live
    --- Zurzeit inaktiv ---
    @ Live

    Joah das habi auch versucht leider ohne erfolg...

    @ aligator

    Habe FW4.0, habs auch runtergestellt und mit dem assemblycompressor der bei
    den OffTopics rumliegt, habe da aber einige Fehlermeldungen bekommen, und nu wider auf FW4.0 gestellt,
    würde eigentlich auch gerne da bleiben ;)

    aufjeden habis dan nochmal mit dem Tutorial von Live versucht,
    aber dat ganze funkt ned...

    Hab hier mal meinen Code von der ApplicationEvents.vb mit gefügt...
    Spoiler anzeigen

    [expander]

    VB.NET-Quellcode

    1. Namespace My
    2. ' Für MyApplication sind folgende Ereignisse verfügbar:
    3. '
    4. ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst.
    5. ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung nicht normal beendet wird.
    6. ' UnhandledException: Wird ausgelöst, wenn in der Anwendung eine unbehandelte Ausnahme auftritt.
    7. ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn diese bereits aktiv ist.
    8. ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.
    9. Partial Friend Class MyApplication
    10. Private WithEvents Domaene As AppDomain = AppDomain.CurrentDomain
    11. Private Function Domaene_AssemblyResolve(ByVal sender As Object, ByVal args As System.ResolveEventArgs) As System.Reflection.Assembly Handles Domaene.AssemblyResolve
    12. If args.Name.Contains("XfireButton") Then
    13. Return System.Reflection.Assembly.Load(My.Resources.XfireButton)
    14. Else
    15. Return Nothing
    16. End If
    17. If args.Name.Contains("Plus") Then
    18. Return System.Reflection.Assembly.Load(My.Resources.Plus)
    19. Else
    20. Return Nothing
    21. End If
    22. If args.Name.Contains("Mute") Then
    23. Return System.Reflection.Assembly.Load(My.Resources.Mute)
    24. Else
    25. Return Nothing
    26. End If
    27. If args.Name.Contains("Minimize") Then
    28. Return System.Reflection.Assembly.Load(My.Resources.Minimize)
    29. Else
    30. Return Nothing
    31. End If
    32. If args.Name.Contains("Iphone1_0") Then
    33. Return System.Reflection.Assembly.Load(My.Resources.Iphone1_0)
    34. Else
    35. Return Nothing
    36. End If
    37. If args.Name.Contains("EStop") Then
    38. Return System.Reflection.Assembly.Load(My.Resources.EStop)
    39. Else
    40. Return Nothing
    41. End If
    42. If args.Name.Contains("EPlay") Then
    43. Return System.Reflection.Assembly.Load(My.Resources.EPlay)
    44. Else
    45. Return Nothing
    46. End If
    47. If args.Name.Contains("EMinus") Then
    48. Return System.Reflection.Assembly.Load(My.Resources.EMinus)
    49. Else
    50. Return Nothing
    51. End If
    52. If args.Name.Contains("EClose") Then
    53. Return System.Reflection.Assembly.Load(My.Resources.EClose)
    54. Else
    55. Return Nothing
    56. End If
    57. End Function
    58. End Class
    59. End Namespace


    sollte doch eigentlich stimmen

    kennt ihr noch andere möglichkeiten?

    Villeicht seht ihr einen Fehler wen ich euch die Vorgehensweise erläutere:
    • Button erstellt (Klassenbibliethek)
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class EClose
    2. Inherits Windows.Forms.Button
    3. Public Sub New()
    4. Me.Size = New System.Drawing.Point(100, 30)
    5. Me.FlatStyle = Windows.Forms.FlatStyle.Flat
    6. Me.FlatAppearance.BorderSize = 0
    7. Me.FlatAppearance.BorderColor = System.Drawing.Color.Gray
    8. Me.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Transparent
    9. Me.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent
    10. Me.BackColor = System.Drawing.Color.Transparent
    11. Me.BackgroundImage = My.Resources.normal
    12. Me.BackgroundImageLayout = Windows.Forms.ImageLayout.Stretch
    13. Me.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    14. End Sub
    15. Private Sub EClose_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    16. Me.BackgroundImage = My.Resources.down
    17. End Sub
    18. Private Sub EClose_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MouseEnter
    19. Me.BackgroundImage = My.Resources.hover
    20. End Sub
    21. Private Sub EClose_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MouseLeave
    22. Me.BackgroundImage = My.Resources.normal
    23. End Sub
    24. Private Sub EClose_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
    25. Me.BackgroundImage = My.Resources.hover
    26. End Sub
    27. End Class


    • Aus dem Relase Ordener die dll geholt in die Toolbox gezogen, und zumteil auch rechtsklick Elemente Auswählen
    • und nu auf die Form gezogen, und becodet...
    • dan relase... und gesehen alle dll's sichtbar und da...
    • bücher nach lösungen gesucht nix, google auch nix was ich verstehen konnte, nu habi diesen Thread geschrieben
    • dan habi die dll in die Ressurcen gehaun, und der rest des Tutorial befolgt...
    • und jetzt wäre ich wider hier ;)

    Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „SwisSeRy“ ()

    den OffTopics rumliegt, habe da aber einige Fehlermeldungen bekommen, und nu wider auf FW4.0 gestellt,
    welche feler?
    beim runterstellen oder beim verwenden des kompressors?
    :P Mfg Aligator :P

    aligator schrieb:


    Zitat

    den OffTopics rumliegt, habe da aber einige Fehlermeldungen bekommen, und nu wider auf FW4.0 gestellt,
    welche feler?
    beim runterstellen oder beim verwenden des kompressors?


    diesen fehler bekomme ich beim Kompressor,
    wen ich die dll's einfügn will, einer hatt im relase thread ein Screen von der Fehlermeldung gemacht, hier
    gibt es noch eine auch bei mir funktionierende Möglichkeit? ;)

    CheerZz

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „SwisSeRy“ ()