Autor Beitrag
katmai
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win xp

BeitragVerfasst: Mi 26.05.10 19:16 
Hallo Liebe C# Fans

Mein Ausgangspunkt ist folgender:

Ich habe zwei Projekte. Das erste stellt ein Hauptformular dar und das zweite ist ein vom Hauptformular aufgerufenes Formular zum editieren und anlegen von Datensätzen.

Es sind zwei Projekte weil ich verteilte Programmierung simulieren soll(also einer schreibt das eine Prog der andere das andere).

Das zweite Projekt wird als .dll kompiliert und in das erste als Verweiß eingefügt.

Mein Problem ist das ich für die Datensätze eine Klasse erstellt habe und beide Formulare diese Klasse kennen sollen.
hier erstmal die Klasse für die Datensätze aus dem Hauptformular:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
namespace Materialverwaltung
{
    [Serializable]public class Dataset
    {
        public String ZNr;
        public String connect;
        public Int32 Bestand;
        public String Bearbeiter;
        public DateTime Date;
        public String Material;
        public String LfdNr;
        public String Benennung;
        public Image img;

        public Dataset()
        {
            //Constructor
        }

        public Dataset(String ZNr, String connect, Int32 Bestand, String Bearbeiter, String Material, String LfdNr, String Benennung, Image img)
        {
            this.Bearbeiter = Bearbeiter;
            this.Benennung = Benennung;
            this.Bestand = Bestand;
            this.connect = connect;
            this.Date = DateTime.Now;
            this.img = img;
            this.LfdNr = LfdNr;
            this.Material = Material;
            this.ZNr = ZNr;
        }

    }
}


Also ist es eher ein Herangehensweiseproblem.... denn ich möchte die Datasets aus dem Hauptformular, dem Nebenformular übergeben und wenn ichs ändern lassen habe wieder zurückgeben.

Bisher habe ich beiden Formularen die Klassen hinzugefügt mit jeweils dem entsprechenden Namensspaces.
Leider akzeptiert das Hauptformular bzw das Nebenformular nicht die jeweiligen Instanzen der Klassen des anderen.
Der Fehler der erscheint ist " kann nicht konvertiert werden".

Der einzige Weg mit dem es geht ist indem ich mir die einzelnen Variablen des Datasetobjekts hole und in ein neues Dataset des anderen Formulars schreibe.... dies gefällt mir aber nicht... habt Ihr eine Idee wie ich die Klassendefinition für beide Formulare so machen kann das Sie sich gegenseitig akzeptieren und nicht wiederspechen obwohl Sie gleich sind ? Oder ist meine Herangehenweise komplett falsch ?

Danke für eure Bemühungen und Geduld beim lesen dieses Textes...
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 26.05.10 20:32 
Beide Formulare müssen auf dieselbe Klasse zugreifen. Wirf also die des Hauptprojekts weg und benutze nur die des Unterprojekts.

_________________
>λ=
katmai Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win xp

BeitragVerfasst: Mi 26.05.10 21:04 
Danke für die Antwort...

daran hatte ich auch schon mal gedacht es aber wieder verworfen weil noch 2 weitere Nebenformulare hinzukommen die die Dataset Klasse kennen müssen. Oder soll ich die drei Unterklassen, die dann eigentlich gleich sind, getrennt vom Hauptformular aus behandeln ? Dann hätte ich ja aber wieder das gleiche Problem, dass die drei Instanzen der drei Nebenformulare sich nicht gleichen bzw nicht gleichsetzbar sind ...

hast Du noch ne andere Idee das Problem zu lösen ?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 26.05.10 22:37 
user profile iconkatmai hat folgendes geschrieben Zum zitierten Posting springen:
daran hatte ich auch schon mal gedacht es aber wieder verworfen weil noch 2 weitere Nebenformulare hinzukommen die die Dataset Klasse kennen müssen.
Dann musst du die Klasse in ein eigenes Projekt setzen, das dann von allen anderen referenziert wird. Das ergibt sich so bei jeder Plugin-ähnlichen Architektur :) .

_________________
>λ=
katmai Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win xp

BeitragVerfasst: Do 27.05.10 08:40 
hmmm daran hab ich noch garnicht gedacht oO...

das werd ich gleich mal ausprobieren...

Vielen Dank !!
Mangafreak1995
Hält's aus hier
Beiträge: 7

Win XP
Delphi 7 Enterprise, Visual Studio 2008 Express, Visual Studio 2008 Professional
BeitragVerfasst: Mi 02.06.10 22:11 
wenn du einen Verweis drauf hast aufs 2. Projekt, kannst du deinen Aufbau doch auch public in den NameSpace setzen ... somit kommt jeder ran