Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Open PTC -> ptc.dll Funktionen Doku, wo? (https://www.delphipraxis.net/182522-open-ptc-ptc-dll-funktionen-doku-wo.html)

FragenderHerbert 29. Okt 2014 18:46

Open PTC -> ptc.dll Funktionen Doku, wo?
 
Hallo,

ich beschäftige mich gerade mit Freepascal. Dort mit PTCGraph. Habe dann bissl im Internet gestöbert und eine Datei ptc.dll gefunden. Ein dll Viewer hat ergeben, das dort Funktionen, wie _ptc_console_open, ptc_console_close ... existieren. Sollte also eine Dll zum Export der PTC Grafikfunktionen sein. So ließe sich die PTC Grafik auch mit Delphi verwenden, wenn, ja wenn ich wüßte, ob das Function(s) oder Procedure(s) sind und wie deren Parameterliste aussieft.

Kennt jemand eine aussagekräftige Doku dazu. Mit Beispielprogrammen.

Das ptcpas Paket verwendet Klassen zur Realisierung der PTC Funktionalität. So kann ich die Quelltexte von dort nicht als Doku hierfür nutzen. Gibt es noch eine andere Möglichkeit.



.

Es gab mal eine Webseite zum Open PTC Projekt, das urspünglich in C/C++ realisiert und dann nach Pascal portiert wurde. Leider kann ich diese Webseite nicht mehr finden.

Gibt es die noch? Vielleicht gibt es ja dort weitere Infos.

Mit der Dll ließe sich schlißlich die ptcpas auch mit Delphi verwenden. Vor einer Portierung von FPC nach Delphi schrecke ich zurück, wegen doch so einiger Sysntaxinkompatibilitäten.

Im Ordner ..\Packages\src\c_api\ gibt es Funktionen, die denen von der Dll exportierten im Namen gleichen. Nur ist dort noch ein Unterstrich am Anfang des Namens der Funktion.

Muss ich diesen Unterstrich stehen lassen, wenn ich die dll später mit Delphi verwenden können will oder

muss dann der Unterstrich zwingend weg. Sorry ich habe noch nie dlls programmiert.

Die Dll habe ich vorliegen. Nun will ich dafür eine Import-Unit schreiben. Die soll zuerst mal mit Delphi funktionieren.

Jens01 29. Okt 2014 19:41

AW: Open PTC -> ptc.dll Funktionen Doku, wo?
 
Das scheint doch schon zu funktinieren. Oder habe ich das falsch verstanden=

FragenderHerbert 29. Okt 2014 20:13

AW: Open PTC -> ptc.dll Funktionen Doku, wo?
 
Zitat:

Zitat von Jens01 (Beitrag 1277969)
Das scheint doch schon zu funktinieren. Oder habe ich das falsch verstanden=

Wenn du den Unittest meinst, ja, dann falsch verstanden, obwohl ich mir den Unittest, was das wohl ist, genauer anschauen werde. Habe mir DUnit schon vor längerer Zeit in die Delphi IDE installiert.

Wenn du den Link zur Open PTC Webseite meinst, dann nein, in diesem Fall richtig verstanden.

Auf der dort verlinkten Open PTC Webseite gibt es ein OpenPTCDelphiXXX. Dazu brauche ich zwar noch die Hermes.dll. Ansonsten aber ist das genau was ich suche. Werd schauen, ob das schon funktioniert, sobald ich die Hermes.dll habe.

Danke! :)


Zitat:

Zitat von Jens01
Achtung: Bin kein Informatiker sondern komme vom Bau.

Macht nix. Aufm Bau wird das Endprodukt auch aus einzelnen Bausteinen zusammengesetzt. Wie das Delphiprogramm aus Bausteinen, unseren Komponenten, zusammengesetzt wird. :)

JamesTKirk 5. Nov 2014 06:32

AW: Open PTC -> ptc.dll Funktionen Doku, wo?
 
Free Pascal's PTCPas (welches ursprünglich hier zu finden war), benötigt keine PTC.dll, sondern implementiert alles selbst in Pascal Code. Im Gegensatz zu PTCPas scheint bei OpenPTC die Entwicklung auch eher zum Stillstand gekommen zu sein (die hier erwähnte Projekt-URL steht zum Beispiel zum Verkauf...). Das heißt, dass es vielleicht sinnvoller wäre PTCPas Delphi-kompatibel zu gestalten, da dieses weiterhin als Teil von FPC weiterentwickelt wird. Hast du schon mal probiert, den Windows-kompatiblen Teil mit Delphi zu kompilieren? (btw.: der Code findet sich unter %fpcdir%\packages\ptc) Wobei ich gerade sehe, dass der Code Makros zu verwenden scheint... (zumindest wird
Delphi-Quellcode:
{$macro on}
verwendet)

Wenn du dann doch mit der DLL arbeiten willst, dann lade dir am besten den Dependency Walker herunter, mit dem du dir unter anderem die Exporte der DLL anzeigen lassen kannst. Dadurch siehst du genau, wie die Namen im
Delphi-Quellcode:
external libname name 'XYZ'
-Modifier aussehen müssen.

Gruß,
Sven

FragenderHerbert 5. Nov 2014 07:03

AW: Open PTC -> ptc.dll Funktionen Doku, wo?
 
Zitat:

Zitat von JamesTKirk (Beitrag 1278707)
Free Pascal's PTCPas (welches ursprünglich hier zu finden war), benötigt keine PTC.dll,

Das weiß ich. Aber die PTCPas lässt sich nur äußerst mühsam übersetzen. Hab das schon mal probiert, bin daran gescheitert. Da aber PTCPas eh nun zu Freepascal gehört, will ich mir die Mühe sparen.

Will aber PTCPas auch mit Delphi verwenden. Denn wenn schon plattforübergreifend dann auch mit identischer Schnittstelle.

Leider wurde lt. Quellcode die ptc Unit ohne c_api übersetzt, sonst könnte ich in Delphi wie Freepascal diese Schnittstelle verwenden. Das war auch meine Motivation, die Übersetzung noch mal zu machen, mit {$define c_api}

Stattdessen verwendet PTCPas aus Freepascal PTC Klassen. Die muss ich für Delphi erst nachrüsten.

Zitat:

Zitat von JamesTKirk (Beitrag 1278707)
sondern implementiert alles selbst in Pascal Code. Im Gegensatz zu PTCPas scheint bei OpenPTC die Entwicklung auch eher zum Stillstand gekommen zu sein (die hier erwähnte Projekt-URL steht zum Beispiel zum Verkauf...). Das heißt, dass es vielleicht sinnvoller wäre PTCPas Delphi-kompatibel zu gestalten, da dieses weiterhin als Teil von FPC weiterentwickelt wird. Hast du schon mal probiert, den Windows-kompatiblen Teil mit Delphi zu kompilieren? (btw.: der Code findet sich unter %fpcdir%\packages\ptc) Wobei ich gerade sehe, dass der Code Makros zu verwenden scheint... (zumindest wird
Delphi-Quellcode:
{$macro on}
verwendet)

Nein, hab ich noch nicht. Kann ich noch mal probieren. Wenn das nicht klappt, dann brauche ich die DLL.

Zitat:

Zitat von JamesTKirk (Beitrag 1278707)
Wenn du dann doch mit der DLL arbeiten willst, dann lade dir am besten den Dependency Walker herunter, mit dem du dir unter anderem die Exporte der DLL anzeigen lassen kannst. Dadurch siehst du genau, wie die Namen im
Delphi-Quellcode:
external libname name 'XYZ'
-Modifier aussehen müssen.

Gruß,
Sven

Danke, den Download hab ich grad gemacht. Schau ich mir an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 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