Ich brauche kleine Unterstützung bei Ansprechen einer Class.
Es geht um folgendes.
Ich habe ein Muster in C#
Code:
using System;
using System.Runtime.InteropServices;
using System.Windows.Input;
namespace DLL_Test1
{
public interface ICalculator
{
double Add(double aVal1, double aVal2);
}
public class Calculator : ICalculator
{
public Calculator()
{
}
public double Add(double aVal1, double aVal2)
{
return aVal1 + aVal2;
}
}
}
So erstellte Dll kann ich in Delphi benutzen.
Beispiel:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
Calc: ICalculator;
begin
Calc:= CoCalculator.Create as ICalculator;
ShowMessage(FloatToStr(Calc.Add(12,5)));
end;
Das funktioniert. Ich kriege es in Delphi portiert.
Auf genau die gleiche Art möchte ich den Code in C# ansprechen
Das ist die Consolenanwendung
Code:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Sockets;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using DatenDLL;
namespace Daten
{
class Program
{
static void Main(string[] args)
{
var Daten = new DatenDLL.DatenDLL(args[1], Convert.ToInt32(args[2]), args[3], args[4]);
Daten.Info = true;
var checkok = Daten.Check();
var message = Daten.ReturnMessage;
}
}
}
Statt Consolenanwendung sollte es als DLL wie oben beschrieben angepasst werden. So dass ich es in Delphi abfeuern kann.
Im Endeffekt macht die Consolenanwendung nichts anderes als nutzt eine andere Dll die paar Daten zu den Vorgaben hinzufügt und als String zurückgibt.
Vielleicht hat Jemand Lust mir zu helfen.
Auf einem VB Forum wollte man es gegen Bazahlung machen, dafür ist aber der Aufwand wohl zu klein. Für 5 Zeilen Code sollte man nichz zahlen müssen.
Vielleicht habe ich hier mehr Glück. Ich kann mich erkenntlich zeigen,ja, zahle aber kein Geld dafür.
EDIT:
Ich habe es selbst lösen können. Bitte schliessen.