Ich brauche kleine Unterstützung bei Ansprechen einer Class.
Es geht um folgendes.
Ich habe ein Muster in C#
So erstellte Dll kann ich in Delphi benutzen.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; } } }
Beispiel:
Das funktioniert. Ich kriege es in Delphi portiert.Code:procedure TForm1.Button1Click(Sender: TObject); var Calc: ICalculator; begin Calc:= CoCalculator.Create as ICalculator; ShowMessage(FloatToStr(Calc.Add(12,5))); end;
Auf genau die gleiche Art möchte ich den Code in C# ansprechen
Das ist die Consolenanwendung
Statt Consolenanwendung sollte es als DLL wie oben beschrieben angepasst werden. So dass ich es in Delphi abfeuern kann.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; } } }
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.




Zitieren