burnersk Geschrieben 24. Juli 2007 Teilen Geschrieben 24. Juli 2007 Hallo. Ich möchte eine C# DLL für eine Verwendung in C, C++, C#, VB6 und VB .NET erstellen. Weitere Integrationsmöglichkeiten sind natürlich traumhaft. Kurz zum Hintergrund... > IDE: ShrapDevelop 2.2.0 Build 2595 > .NET Framework 2 Runtime + .NET Framework 2 SDK Deutsch > Zielplatform: zuerst Windows ab 98 SE. Dann evtl. Umstieg auf Mono für Linuxentwickler > Projekt: dev5ApS > Projektinfo: Erstellung einer DLL zur Absicherung von Software... Folgendes: > Zur Übersicht möchte ich gerne die internen Klassen in unterschiedliche Dateien/Klassen aufteilen. Von "außen" darf aber nur eine Connector-Klasse zur Verfügung stehen. > Alle Übergaben erfolgen ausschließlich in Long/String/ArrayString (Long als Fehlerrückgabe (public static long Main () {}) / Long, String und ArrayString als Rezerenzübergabe für Übergabe der Klasse/Funktion) Wie erstelle ich unterschiedliche Namespaces, die nur intern aufgerufen werden können (also nicht als Connector-Klasse fungieren). Wie erstelle ich eine Connector-Klasse? Oder Zugriff von "außen" auf jede öffentliche Namespace/Klasse Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 24. Juli 2007 Autor Teilen Geschrieben 24. Juli 2007 Hi. Ich kann außerhalb des Namespace (im Projekt) nicht auf die Variablen zugreifen... /* * Erstellt mit SharpDevelop. * Benutzer: Besitzer * Datum: 24.07.2007 * Zeit: 18:51 */ using System; namespace dev5ApS.Datenstruktur { /// <summary> /// Datensatzklasse enthält Informationen über Softwarekunden /// </summary> public class DbUserData { /// <summary> /// sFirma speichert den Firmennamen des Softwarekunden /// Angabe ist optional /// </summary> public string sFirma { get { return sFirma; } set { sFirma = value; } } /// <summary> /// sName speicher den Vor- und Nachnamen des Softwarekunden /// </summary> public string sName { get { return sName; } set { sName = value; } } /// <summary> /// sAddress_1 speichert die Adresse des Softwarekunden /// </summary> public string sAddress_1 { get { return sAddress_1; } set { sAddress_1 = value; } } /// <summary> /// sAddress_2 speichert evtl. Zusatzinformationen für die Adresse des Softwarekunden /// Angabe ist optional /// </summary> public string sAddress_2 { get { return sAddress_2; } set { sAddress_2 = value; } } /// <summary> /// sZipCode speichert die Postleitzahl des Softwarekunden /// </summary> public string sZipCode { get { return sZipCode; } set { sZipCode = value; } } /// <summary> /// sCity_Town speichert den Wohnort des Softwarekunden /// </summary> public string sCity_Town { get { return sCity_Town; } set { sCity_Town = value; } } /// <summary> /// sEMail speichert die E-Mail Adresse des Softwarekunden /// </summary> public string sEMail { get { return sEMail; } set { sEMail = value; } } /// <summary> /// sLicenceCode speichert den Lizenzschlüssel des Softwarekunden /// </summary> public string sLicenceCode { get { return sLicenceCode; } set { sLicenceCode = value; } } /// <summary> /// sSpecials speichert für die Lizenzgenerierung benötigte Zusatzinformationen über den Softwarekunden /// Angabe ist optional /// </summary> public string sSpecials { get { return sSpecials; } set { sSpecials = value; } } } } Wie würdet Ihr auf eine Variable zugrifen? Erstmal den Datensatz erstellen mitprivate DbUserData cTest = new dev5ApS.Datenstruktur.DbUserData Und weiter??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MarkusLe Geschrieben 25. Juli 2007 Teilen Geschrieben 25. Juli 2007 Ich versteh ehrlich gesagt Dein Problem mit dem Variablenzugriff überhaupt nicht. Wenn Du mit andern nicht .NET Sprachen auf eine .NET Dll zugreifen willst, dann musst Du die .NET Dll mit regasm.exe auf dem Rechner registrieren und kannst sie genau wie jede andere COM Dll auch verwenden. MfG Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 25. Juli 2007 Autor Teilen Geschrieben 25. Juli 2007 Die DLL ist noch gar nicht programmiert. Ich muss erst mal herausfinden, warum ich die Variablen im NS dev5ApS.Datenbankstruktur nicht vom NS dev5ApS.Interface abfragen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MarkusLe Geschrieben 25. Juli 2007 Teilen Geschrieben 25. Juli 2007 O_o 1. private DbUserData cTest = new dev5ApS.Datenstruktur.DbUserData Hier müsste dir eigentlich der Compiler bereits 2 Fehlermeldungen bringen. Richtig wäre: private DbUserData cTest = new dev5ApS.Datenstruktur.DbUserData(); Und auf die Eigenschaften zugreifen, das kannst Du wie in jedem C# Programm auch, mit cTest.PropertyName. Wenn Du die DbUserData Objekte beim Erstellen bereits mit Werten füllen willst, dann würde ich dir das Factory-Pattern emfehlen. MfG Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 25. Juli 2007 Autor Teilen Geschrieben 25. Juli 2007 Und da viel es ihm wie schuppen aus den augen... diese *unanständigen* klammern. Vielen Dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.