Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# DLL für Integration in C,C# .NET und VB6/VB.NET

Empfohlene Antworten

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

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 mit
private DbUserData cTest = new dev5ApS.Datenstruktur.DbUserData

Und weiter???

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

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.

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

Und da viel es ihm wie schuppen aus den augen... ;)

diese *unanständigen* klammern. Vielen Dank!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.