AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kommunikation Klassen von unterschiedl. Compilern Interesse?
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation Klassen von unterschiedl. Compilern Interesse?

Ein Thema von schöni · begonnen am 19. Apr 2009 · letzter Beitrag vom 20. Apr 2009
Antwort Antwort
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#1

Kommunikation Klassen von unterschiedl. Compilern Interesse?

  Alt 19. Apr 2009, 23:06
Hallo!

Ich weiß nicht, wie groß das allgemeine Interesse am genannten Problem ist, aber ich frage dennoch mal in die Runde ob das von allgemeinem Interesse ist?

Ich habe eine Klasse aus Freepascal, die ich mit Delphi verwenden möchte. Dabei übergebe ich einen Klassenzeiger an die Freeepascal Klasse. Dieser Klassenzeiger dient als Container für die zu übertragenden Informationen.

Delphi-Quellcode:
type
  TFPC_Class = class
  private
    FData: TPersistent;
    function GetData: TPersistent;
    procedure SetData(AData: TPersistent);
  public
    ...
    property ADataContainer: TPersistent read GetData write SetData;
    ...
  end;

//------------------------

type
  TDelphi_Class = class
  private
    FData: TPersistent;
    function GetData: TPersistent;
    procedure SetData(AData: TPersistent);
  public
    ...
    property ADataContainer: TPersistent read GetData write SetData;
    ...
  end;
Wenn die Klasse eine Komponente ist, muss doch deren Owner in der Komponente NIL sein, wenn sie in einer DLL übergeben wird oder?

Die Frage ist, gibt es für das Problem eine elegante Lösung?

Wie groß ist das allgemeine Interesse an einer Lösung innerhalb der DP?

FPC KLassen sind dabei nur beispielhaft. Vielleicht gibt es ja auch Klassen aus anderen Programmiersprachen, die man irgendwann verwenden will, ohne sie in die Lieblingsprogrammiersprache portieren zu müssen. Man bleibt dann einfach in der bevorzugten Sprache und greift auf die Fremdklasse zu, egal ob in Java, PHP, C++ .... geschrieben.

Wie oft tritt dieser Fall im Programmiereralltag auf?

Lohnt sich also der Aufwand, ein Konzept dafür zu erarbeiten oder gibt es das schon und wenn ja, wie wird das realisiert?

Tut mir leid, aber ich habe seit 2 Jahren nicht mehr programmiert und bin daher völlig aus der Übung und nicht mehr auf dem Laufenden? Habt daher bitte Nachsicht.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Kommunikation Klassen von unterschiedl. Compilern Intere

  Alt 20. Apr 2009, 00:01
Mit Interfaces (und ggf. COM) kannst Du Klassen über DLLs (bzw. Type Libraries) sprachübergreifend verwenden.
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Kommunikation Klassen von unterschiedl. Compilern Intere

  Alt 20. Apr 2009, 07:21
Klassenzeiger in DLL's zu übergeben funktioniert nur beim gleichen Compiler und auch nur bei der gleichen Compiler-/Frameworkversion sowie gleichen Compilereinstellungen. Ansonsten ist das speicherabbild zu 99,9% untrschiedlich und es kracht an allen Ecken und Enden.

Nimm wie vorgeschlagen Interfaces oder Records mit angegebenen Speicheralignment.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Kommunikation Klassen von unterschiedl. Compilern Intere

  Alt 20. Apr 2009, 07:23
Zitat von schöni:
FPC KLassen sind dabei nur beispielhaft. Vielleicht gibt es ja auch Klassen aus anderen Programmiersprachen, die man irgendwann verwenden will, ohne sie in die Lieblingsprogrammiersprache portieren zu müssen. Man bleibt dann einfach in der bevorzugten Sprache und greift auf die Fremdklasse zu, egal ob in Java, PHP, C++ .... geschrieben.

Wie oft tritt dieser Fall im Programmiereralltag auf?
Im Enterprisebereich fast täglich. Dazu nimmt man eine Form der Serialisierung (XML, JSON, SOAP) die beide Partner verstehen. Einen Zeiger auf ein PHP oder Java Objekt kann man aber nicht einfach aus Delphi oder Free Pascal verwenden.

Web Services und REST sind zwei Stichworte.

Wer mag, kann ja versuchen einen Universaladapter zu entwickeln, mit dem man aus Delphi auf Objekte beliebiger Programmiersprachen zugreifen kann

Cheers,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:36 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