Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mi 04.05.16 14:51 
Hallo,

ich denke das hier ist das perfekte Forum für mein Problem, hier ist das Know-How für C# und Delphi :) falls ich es im falschen Forum gepostet habe, dann tut es mir Leid.

Ich habe eine C# DLL geschrieben die ich in Delphi benutze, funktioniert sehr gut! Es war zu Beginn etwas mühselig die DLL unter Delphi zum laufen zu bringen, aber nach harter Arbeit habe ich das doch geschafft! :)

Jetzt habe ich aber ein Problem/Frage.
Meine Methoden (DLL-Methoden) geben ein booleschen wert zurück:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public bool Update(string Name, string Ort)
        {
            bool re_Bool = false;
            try
            {
                // Code

                re_Bool = true;
            }
            catch (Exception)
            {
                re_Bool = false;
            }
            return re_Bool;
        }

So sind meine Methoden meistens aufgebaut! Nun möchte ich aber das wenn ein Fehler auftaucht, also der Code in die Exception rutsch. Soll in Delphi nicht nur false angezeigt werden sondern es soll auch die Fehlermeldung angezeigt werden. Also sowas wie ein String Wiedergabe.
Ich habe in C# mit out das Problem gelöst, doch in Delphi weiß ich nicht wie ich das out benutzen soll oder ob es überhaupt geht!?

Daher frage ich euch wie kann ich es schaffen, dass wenn der Code in Delphi einen Fehlergibt soll dieser nicht nur false sondern auch die Fehlermeldung anzeigen!?

LG
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.05.16 16:03 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4701
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 04.05.16 18:30 
Wie hast du den den .Net Teil exportiert?
COM? Irgendein 3ThParty Tool das einen Methoden Export erlaubt? Oder?

Bei COM (der einzige standardmäßig unterstütze Weg) würde aus dem out string Parameter wohl ein BSTR* werden. An Delphi kann ich mich nur noch dunkel erinnern, insofern solltest du die Aussage mit Vorsicht geniesen, aber ich glaube ein BSTR mappt auf WideString in Delphi. BSTR* sollte also ein PWideString sein.