AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Delphi-DLL in C++ verwenden, Headerdatei?
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-DLL in C++ verwenden, Headerdatei?

Ein Thema von Kirillenseer · begonnen am 13. Mär 2013 · letzter Beitrag vom 14. Mär 2013
Antwort Antwort
Seite 2 von 2     12   
Robotiker
(Gast)

n/a Beiträge
 
#11

AW: Delphi-DLL in C++ verwenden, Headerdatei?

  Alt 14. Mär 2013, 08:10
Die Methode muss doch irgendwo implementiert sein. Gehört die Methode wirklich zum struct, muss sie auch irgendwo implementiert sein.
Die Methoden, denn man sagt einem C++ Compiler er könne diese Klasse aus der DLL verwenden. Wenn man so ein Objekt dann anlegen will, müsste ja der Konstruktor von dort aufgerufen werden.

Außerdem wäre da noch das Problem, wie die Methoden denn heißen:
http://en.wikipedia.org/wiki/Name_mangling

Man sollte sich für solche Schnittstellen mit einfachen Funktionen (in C++ mit extern "C" deklariert) und Strukturen nur mit einfachen Datentypen begnügen, so wie die WinAPI das macht.
  Mit Zitat antworten Zitat
Kirillenseer

Registriert seit: 13. Mär 2013
5 Beiträge
 
#12

AW: Delphi-DLL in C++ verwenden, Headerdatei?

  Alt 14. Mär 2013, 09:10
Ein Bisschen Quelltext:
Code:
typedef struct {
  unsigned char Day;
  unsigned char Month;
  char DueDateYearTakeOverTime[5+1];
  void print(char *);
} DueDate;
ist die Abbildung von
Code:
 _TStichtag = record
    Tag, Monat                      : byte;
    Jahresstichtag_Uebernahmezeit   : array[0..MAX_LEN_TSTICHTAG_JS_UEB_ZEIT] of AnsiChar;
end;
  Mit Zitat antworten Zitat
Robotiker
(Gast)

n/a Beiträge
 
#13

AW: Delphi-DLL in C++ verwenden, Headerdatei?

  Alt 14. Mär 2013, 09:22
Das typedef struct spricht für C, in C++ würde man das ohne typedef als
Code:
struct DueDate
schreiben.

So wie es da mit der Member Funktion steht, ist es aber eine merkwürdige Deklaration einer C++ Klasse. Eine Implementierung von print muss es noch irgendwo geben. Wäre es eine Interface Klasse stände da
Code:
virtual void print(char *) = 0;
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

AW: Delphi-DLL in C++ verwenden, Headerdatei?

  Alt 14. Mär 2013, 09:25
Entweder habe ich noch zu wenig Koffeein intus oder in deiner .C (oder .cpp oder was auch immer)-Datei wirst du ein

Code:
void DueDate::print(char *){
[...]
}
finden. Dort steht dran drin, was diese Methode im struct eigentlich bewirkt.


In C++ sehe ich aber auch so weiterhin sehr viele struct-Deklarationen mittels typedef. Mit alte Gewohnheiten bricht man wohl nur schwer...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz