Forums Neueste Beiträge
 

DLL erstellen mit Interopt (dringend!!)

23/09/2008 - 17:54 von Andre Rust | Report spam
Hallo,
ich weiß nicht, wie ich eine DLL erstellen soll die über COM+ von anderen
Programmen aufgerufen werden kann. Ich habe ein kleinnes Proggie geschrieben
aber es klappt einfach nicht. Nur mit .NET kann ich die DLL-Funktionen
sehen. Ich wollte nur die Funktion MonthToInt(..) aufrufen.Wer kann mir
weiterhelfen? Oder mir ein funktionierendes einfaches Beispiel erstellen und
zusenden. Danke.

Gruß

André R.

Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Runtime.InteropServices;

namespace efcom_ksv
{
public class Class1
{
public int MonthToInt(string monthName)
{
DateTime datum;
bool ok = DateTime.TryParseExact(monthName,
new string[] { "MMMM", "MMM", "MMM." }, null,
DateTimeStyles.AssumeLocal, out datum);
if (!ok) return 0; else return datum.Month;
}
}
}

AssmeblyInfo

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen
zu àndern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("Efcom KSV Interface")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("efcom")]
[assembly: AssemblyProduct("efcom_ksv")]
[assembly: AssemblyCopyright("Copyright © efcom 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser
Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ
auf "true" fest.
[assembly: ComVisible(true)]

// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt
für COM verfügbar gemacht wird
[assembly: Guid("3f8ed3f1-ee38-4c22-a42b-eff4f4cbf98e")]

// Versionsinformationen für eine Assembly bestehen aus den folgenden vier
Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmàßigen Build- und
Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ClassInterface(ClassInterfaceType.AutoDual)]
[assembly: AssemblyKeyFile("MyInterop.snk")]
 

Lesen sie die antworten

#1 Frank Dzaebel
23/09/2008 - 22:58 | Warnen spam
Hallo Andre,

ich weiß nicht, wie ich eine DLL erstellen soll die über COM+ von
anderen Programmen aufgerufen werden kann. Ich habe ein kleinnes Proggie
geschrieben aber es klappt einfach nicht. Nur mit .NET kann
ich die DLL-Funktionen sehen. Ich wollte nur die Funktion
MonthToInt(..) aufrufen.Wer kann mir weiterhelfen? Oder mir ein
funktionierendes einfaches Beispiel erstellen und zusenden. Danke.



http://Dzaebel.NET/Downloads/MyComLib08.zip

ist noch ein Fehler (bei C++ latebind) drin, aber
auf die Schnelle gehts eigentlich schon so als Beispiel.
Hier auch ein Download:

[CodeProject: Building COM Servers in .NET]
http://www.codeproject.com/KB/COM/B...otNet.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen