Laden...

Forenbeiträge von Mazzo123 Ingesamt 5 Beiträge

19.03.2010 - 11:55 Uhr

Pu, irgendwie hänge ich dort immer noch fest.

Ah ne, hab es nun:

Form-Klasse:

        public FormEmulator()
        {
            ...
            delDeviceNumber = new GetDeviceNumber(GetSelectedDevice);
        }


        public delegate int GetDeviceNumber();
        public GetDeviceNumber delDeviceNumber;

        private int GetSelectedDevice()
        {
            return comboBox_devices.SelectedIndex;
        }

Im Thread:

        public int getSelectedDeviceNumber()
        {
            return (int) formEmulator.Invoke(formEmulator.delDeviceNumber);
        }

Danke trotzdem

19.03.2010 - 10:17 Uhr

Hallo,

habe in meiner GUI eine Combobox.

Möchte nun aus einen anderen Thread das SelectedItem der Combobox abfragen. Wie mache ich das?

Kann Invoke Rückgabeparameter haben?

Danke für jegliche Hinweise.

Mazzo

17.03.2010 - 23:03 Uhr

Wow, ihr seid schnell! Danke für die Antworten.

Ok, die Aussagen denke ich, hab ich alle verstanden. Glaube ich habe dort eher programatisches Unverständnis:

Glaube mir ist es nun klar geworden dank Tarion:

Ich füge die Dll als Referenz meiner Exe zu. So kann ich die Dll-Events in der Exe abonieren. Kommunikation Dll-->Exe

Da ich nun aus meiner Exe die Dll kennen, kann ich Funktionsaufrufe in der Dll machen. Keine Events, so wie ich es ursprünglich vorsehen wollte.

Ok, das ist plausibel. Mach mich mal direkt wieder an die Arbeit.

Ziel ist übrigens eine Bluetoothkommunikaiton 😃

LG und einen schönen Abend

17.03.2010 - 22:37 Uhr

Hallo zusammen,

möchte meine GUI in einen Exe-Projekt implementieren. Die Logik befindet sich in der selben Solution, allerdings in einen Dll-Projekt. Nun möchte ich Events in beide Richtungen senden können.

Z.B.

Dll ließt Daten von einen Port, wurden die Daten verifiziert, sollen diese Daten der Exe (GUI) gesendet werden.

In der GUI kann durch Eingabe eines Datums das senden über die Dll ausgelöst werden. Dazu soll das Datum der Dll gesendet werden.

Nun ist es doch so, das ich in meiner Solution die Projekte gegenseitig referenzieren müsste, was ja aber nicht möglich ist (Henne - Ei Problem).

Wie geht man hier vor?

Beispiel im Code:

Dll:
Event auslösen: Instance.receivedData(1)

    public delegate void ReceivedData(int function);  
    public event ReceivedData receivedData;  

Exe:
Dll.Instance.receivedData += new Dll.ReceivedData(Received);

Diese funktioniert, wenn ich die Dll als Referenz im Exe-Projekt angeben. Nur wie bekomme ich dann den umgekehrten Weg hin?

Bitte um Hilfe!

Super, danke allen die mir nur einen Clou geben können,

Mazzo

09.01.2010 - 14:41 Uhr

Hallo zusammen,

möchte in meiner App eine Base Form anlegen. Die App zeigt nur von der Base Form abgeleitete Child Forms an. In der Base Form habe ich z.B. das Porpertie Size verändert. Nach dem Kompilieren, also in der gestarteten Anwendung, wird mir die Child Form in der richtigen Size angezeigt.

Der VS Form Designer zeigt mir allerdings das Child Form nur in den Default-Values an. Z.B. in einer kleineren Size. Obwohl es doch von der Base Form abgeleitet ist.

What do I miss here?

Grüße

Mario

PS:

class MainForm : Form
...
protected InitializeComponent(){
this.ClientSize = new System.Drawing.Size(480, 640);
...

class FormChild : MainForm
InitializeComponent() wird aufgerufen, es wird aber die Methode aus der Basisklasse verwendet.