Entwickler-Ecke
Andere .NET-Sprachen - C# Klasse in Delphi.Net einbinden???
winx - Fr 07.10.05 10:41
Titel: C# Klasse in Delphi.Net einbinden???
Hi,
da ich mich jetzt ein bißchen in Delphi.Net einlernen will, möchte ich erstmals verschieden Dinge versuchen. Dabei stoße ich schon an das erste Problem:
Wie kann ich folgende C# Klasse in mein Delphi.Net Projekt einbinden, damit ich normal damit arbeiten kann, oder geht das nicht?
Klasse:
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:
| using System; using System.Collections.Generic; using System.Text;
namespace WindowsPersonApplication { class Person { private string vorname; private string nachname;
public Person() { vorname = "andreas"; nachname = "betz"; }
public string NameToString() {
return vorname + " " + nachname;
}
} } |
Christian S. - Fr 07.10.05 11:15
Hallo!
In Form von Quellcode kannst Du die Klasse nicht in einem Delphi .NET - Projekt verwenden. Du kannst jedoch Assemblies, welche in C# erstellt wurden, problemlos in einem D.NET-Projekt verwenden, indem Du sie wie jedes andere Assembly einbindest.
Grüße
Christian
winx - Fr 07.10.05 11:52
Hallo,
hab mal ein Beispiel im Netz gefunden, bei dem es funktioniert (Assembly erstellen und einbinden
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:
| namespace People { public class Person { string name;
public string Name { get { return name; } set { name = value; } }
public Person(string someProperty) { this.name = someProperty; } public Person() { this.name = "Peter"; } } } |
bei meinem eigenen hat es jedoch
nicht funktioniert:
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:
| namespace AllPeople.Persons { public class Person { private string vorname; private string nachname;
public Person() { vorname = "andi"; nachname = "betzerle"; }
public string NameToString() {
return vorname + " " + nachname;
}
} } |
Wie kann ich, außer über die Konsole, ein Assembly aus einer C#-Klasse (mit VS.net oder delphi.net) erstellen???
Danke
Christian S. - Fr 07.10.05 11:55
Hallo!
Was genau heisst denn "nicht funktioniert"?
Um ein Assembly mit dieser Klasse drin zu erstellen, erstellst Du einfach eine C#-Klassenbibliothek, packst die Datei mit der Klasse rein und kompilierst das. Schon hast Du Dein Assembly :-)
Grüße
Christian
winx - Fr 07.10.05 12:57
- Zuerst habe ich die C# Klasse erstellt
- Danach die Klasse mit dem Befehl csc /t:library /out:n:/person.dll person.cs umgewnadelt
- Und dann als Referenz eingebunden
Das geht bei beiden Klassen, nur findet er beide der zweiten Klasse den Namespace nicht.
Kann ich das Einbinden von einzelnen Klassen oder ganzen Klassenstrukturen (namespaces) auch einfacher machen?
danke
Christian S. - Fr 07.10.05 16:59
Hallo!
Für die Arbeit solltest Du Dir
"SHARPDEVELOP" herunterladen. Da sparst Du Dir schonmal das ganze Kommandozeilen-Zeugs. ;-) Oder du hast Delphi 2005, das kann ja generell schon C#-Projekte erstellen.
Schau doch mal mit einem Reflector-Tool (Reflection ist IIRC bei Delphi dabei) in die erstellten Assemblies, ob Du da einen Grund siehst, weshalb das nicht klappt.
Wenn es nicht klappt, zeig mal bitte, wie Du die Assemblies in Delphi einbindest.
Grüße
Christian
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!