Zwei Projekte Komunikation

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von toto.

    Zwei Projekte Komunikation

    Hallo an alle,

    Ich habe in meiner Mappe zwei Projekte.

    Im ersten Proj habe ein Verweis hinzugefügt.

    VB.NET-Quellcode

    1. Dim APIDemo As Object


    Mit dem Button übergebe ich der Form vom 2 Proj ein FlowLayoutPanel.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Form = New APIDemo.Form2
    3. Form.Show()
    4. For Each Cntl As Control In Me.Controls ' Alle Steuerelemente durchlaufen
    5. If TypeOf Cntl Is FlowLayoutPanel AndAlso Cntl.Name = "FLP" Then
    6. FLP.Visible = True
    7. Form.Controls.Add(FLP)
    8. End If
    9. Next
    10. End Sub


    Was anch gut funzt.

    In der Form von 2 Proj wird was ausgelöst.

    Danach versuche ich den FLP zurück in die Form vom 1 Proj zu bekommen:

    VB.NET-Quellcode

    1. Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    2. For Each Cntl As Control In Me.Controls ' Alle Steuerelemente durchlaufen
    3. If TypeOf Cntl Is FlowLayoutPanel AndAlso Cntl.Name = "FLP" Then
    4. Cntl.Visible = True
    5. Form1.Controls.Add(Cntl)
    6. End If
    7. Next
    8. Me.Close()
    9. End Sub


    Hier kommt der Fehler "die with Blokade......"
    Was mache ich falsch?
    Bitte um Ubterstützung.
    lg toto
    ?? Ist das die Fehlermeldung, die es beim Setzen eines Verweises ausgibt, oder die, wo du die Instanz im Kunstruktor übergibst?
    Hallo @toto:: Zunächst mal:
    Was für 2 Projekte sind das? WinForm und DLL?
    WinForm und WinForm ist da eher suboptimal.
    Du kannst nur eines dem anderen als Verweis hinzufügen. Bei 2 Projekten in der Mappe wird das Projekt, nicht aber die DLL hinzugefügt.
    Schreib mal, wie es bei Dir aussieht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi Rod,
    Also ich habe ein Projekt wo ich meine Notation schreibe. (CHORDVERSUCH)
    Zweites Projekt (API Demo) spielt mir die Noten.

    Praktisch, übergebe ich die Noten im 2. Proj, dort kann ich sie anhöhren, dann sollte das FLP wieder zurück um weiter zu schreiben.
    Mit der Übergabe klappt es auch, ich kann alles abspielen, nur zurück kann ich nicht mehr.
    (Muss ich dazu sagen, es ist das erste Mal das Ich 2 Proj in einer Mappe habe)
    Bilder
    • Projekt.JPG

      19,62 kB, 280×328, 164 mal angesehen
    lg toto

    toto schrieb:

    Im ersten Proj habe ein Verweis hinzugefügt.

    VB.NET-Quellcode

    1. Dim APIDemo As Object
    Hast du nicht - jdfs nicht mit dieser Zeile.
    Mit der Zeile lässt du nur wahrscheinlich erscheinen, dass du Strict Off proggst, und da zu helfen zu versuchen ist ineffizient.

    Option Strict On!

    ah - der Edit:

    toto schrieb:

    Praktisch, übergebe ich die Noten im 2. Proj, dort kann ich sie anhöhren, dann sollte das FLP wieder zurück um weiter zu schreiben.
    Das FLP muss nicht wieder zurück - es hat sein UrsprungsForm doch niemals verlassen - du übergibst genau genommen ja bestenfalls die Kopie einer Referenz aufs FLP.

    (unabhängig davon, was man von sone Datenverarbeitung halten mag)
    @toto:: Also 2 Exen.
    Die solltren nicht aufeinander verweisen, sie sollten über Pipes miteinander kommunizieren oder über eine zu schreibende Datei und mit API.SendMessage() oder so was.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Öhm. Liegt's an mir? Wieso raff' ich nicht, warum es nicht klappt? Ich hätte jetzt Folgendes probiert(ohne Verweissetzung):

    VB.NET-Quellcode

    1. Dim F2 As New CHORDVERSUCH.Form1(Me)
    2. F2.Show

    Und in Chordversuch -> Form1.vb:

    VB.NET-Quellcode

    1. Private F1 As APIDemo.Form2
    2. Public Sub New(ByRef MainForm As APIDemo.Form2)
    3. F1 = MainForm
    4. End Sub
    @Erfinderdas ist die Ergebniss.
    Glaub es mir.

    @Rod
    Keine Ahnung von API.SendMessage

    Ich habe diese Anwendung gefunden der mir natur getreue Töne gibt, (midi war sehr schlecht)
    ApiDemo habe ich aus VB6 versucht zu übersetzen in VB.Net ohne Erfolg, dann kam mir der Gedangen
    es in die Projekt Mappe hinzufügen.
    Das isrt alles







    Sorry für meine Ausdruckweise, ich denke zu langsam und schreibe zu schnell.
    Bilder
    • B1.JPG

      55,27 kB, 745×672, 169 mal angesehen
    • B2.JPG

      76,84 kB, 1.196×728, 162 mal angesehen
    • B3.JPG

      49,35 kB, 748×667, 158 mal angesehen
    lg toto

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

    frmMyStudentsControl.MyStudentsContolDBUser ist iwas ganz krankes.
    zeigma Screenshot von deim ProjektExplorer, wo diese Sachen zu sehen sind.

    €: ups - hab mich vertan - dieser post sollte woanners hin 8| (wo er inzwischen ja angekommen ist)

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

    @toto:: Vielleicht mach folgendes:
    Mach aus beiden Programmen eines.
    - ein TabControl mit 2 Tabs und je einer GUI in einem Tab,
    ODER
    - ein MDI mit 2 möglichen Childs, Deinen bisherigen GUIs.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Erfinder Screeshot siehe oben

    @Rod gute Ansatz
    werde ausprobieren

    aber wie gesagt, habe schon mal versucht ApiDemo in einer Proj Mappe bzw. in chordversuch hinzufügen,
    dann aber meckert Chordversuch weil viele Sätze in Api aus VB6 sind.
    lg toto
    @toto:: Du solltest den Gesamtaufwand minimal halten, und das, was Du kommunizideren willst, wird wahrscheinlich nicht ganz trivial.
    Wenn Du die Quellen beider Projekte da hast, benenne die Klassen, Forms, Ressourcen und globalen Variablen in beiden Projekten so um, dass Du sie nach dem Zusammenführen gut unterscheiden kannst.
    Sind Inhalte in beiden Projekten gleich, brauchst Du sie nicht umzubenennen.
    Mach ein neues Projekt auf.
    Kopiere alles da rein und füge sie diesem zu: Hinzufügen -> Vorhandenes Element.
    StartForm festlegen und fast feddich. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!