Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C-to-Delphi-Konverter (https://www.delphipraxis.net/153232-c-delphi-konverter.html)

himitsu 26. Jul 2010 07:28


C-to-Delphi-Konverter
 
Moin, :hi:

ich weiß, daß hier schon mehrmal ein Webservice verlinkt wurde, wo man C-Header nach Delphi konvertieren kann, aber hab mir den Link nicht gemerkt und finden tu ich auch nichts.

Kenn also jemand dafür eine gute und nicht all zu teure (brauch sowas ja kaum und reich bin'sch och nich) Software oder Webseite, welche solche Header und Codes übersetzt?

Es muß ja nicht perfekt sein, aber Alles/Vieles per Hand zu übersetzen ist ja recht aufwändig und ein bissl erleichterung wäre schon schön.



Hab nun auch schon eine Weile gesucht und einiges an Software gefunden:
* CToPas (C To Pascal Converter 2.0) - sieht nett aus, brauchte 'ne Weile, bevor ich überhaupt rausbekam, wie man da eine Datei läd ... und dann übersetzt der fast garnichts

*c2delphi! von KAD-KAS - is'n blödes Schrottteil, mit seinennervigen Hooks (vorallem da man durch diesen Sheiß fast garnichts in der Demo ausprobieren kann)

* OpenC2Pas - nja, steckt wohl seit 8 Jahren in der Pre-Pre-Alpha fest

* und dann hatte ich noch 2 andere nichtfunktionierenden Programme, deren Namen mir nimmer einfallen



Ich hätte hier ja ein paar MySQL 5.x-Header und wollte die mal schnell versuchen zu übersetzen, aber alles per Hand, dazu hab ich dann keine Lust.

JamesTKirk 26. Jul 2010 09:30

AW: C-to-Delphi-Konverter
 
Hi!

Du könntest es ja mal mit h2pas probieren, das bei Free Pascal mit dabei ist.

Nachdem ich vor kurzem die ctypes Unit wieder Delphi kompatibel gemacht habe, funktioneren die generierten ctypes benutzenden Header auch wieder mit Delphi. :D (theoretisch :? )
Du kannst h2pas allerdings auch mitteilen die ctypes Unit nicht zu verwenden und alle Typaliase direkt in der Unit anzulegen.

Die ctypes Unit müsstest du dir im Gegensatz zu h2pas allerdings aus dem FPC SVN besorgen. Die liegt unter rtl/inc/ctypes.pp

Edit: Bzgl MySQL 5.x Header: warum versuchst du nicht die aus FPC zu verwenden? Die Lizenz (modifizierte LGPL) erlaubt auch statisches Linken für close source Programme.
Wobei... ich glaub die MySQL-Header verwenden bereits die neuen Funktionen der DynLibs Unit... Könnte doch schwieriger werden als gedacht...

Gruß,
Sven

himitsu 26. Jul 2010 09:48

AW: C-to-Delphi-Konverter
 
nja, ich hätte hier ein paar Header, welche ohne DLL arbeiten, also wo der MySQL-Client direkt in der EXE liegt ... falls es klappt und ich das auch richtig verstanden hab. :stupid:

In FPC schau ich mal rein ... hab hier noch'n Lazarus installiert (auch wenn ich's nie verwende, da es mich nicht mag)

mkinzler 26. Jul 2010 09:53

AW: C-to-Delphi-Konverter
 
Die Frage ist dann aber, ob das dies die Lizenzbestimmungen von MySQL nicht verletzt

himitsu 26. Jul 2010 10:04

AW: C-to-Delphi-Konverter
 
Ist der PHP-Quellcode von php.net ... so richtig seh ich da nicht durch (diese komplette Serverapp ist ja recht umfangreich), aber das sollte der Code sein, welchen die für ihre DLL nutzen (oder direkt einkompilieren? :gruebel: ) aber theoretisch sollte es ja egal sein, ob man den Code nun in eine DLL oder EXE reinmacht (ist ja Beides im Prinzip das Selbe)

igel457 26. Jul 2010 21:22

AW: C-to-Delphi-Konverter
 
Zitat:

Zitat von himitsu (Beitrag 1037594)
aber theoretisch sollte es ja egal sein, ob man den Code nun in eine DLL oder EXE reinmacht (ist ja Beides im Prinzip das Selbe)

Lizenztechnisch nicht. Die LGPL zum Beispiel erlaubt IMHO explizit nur dynamisches Linken.

himitsu 26. Jul 2010 21:52

AW: C-to-Delphi-Konverter
 
Wenn es sein muß, dann kann ich och die Funktionen einer EXE dynamisch linkten, da sich eine EXE sowohl als EXE und DLL laden ließe.

nur speichertechnisch wäre es blöd, wenn dann alles doppelt im RAM ist (Datei als EXE und DLL geladen) und ob halbdynamisch auch gelten würde (nur als EXE geladen, aber Funktionen dynamisch) ... das wäre die Frage :?

BUG 27. Jul 2010 01:00

AW: C-to-Delphi-Konverter
 
Zitat:

Zitat von himitsu (Beitrag 1037754)
Wenn es sein muß, dann kann ich och die Funktionen einer EXE dynamisch linkten, da sich eine EXE sowohl als EXE und DLL laden ließe (...) und ob halbdynamisch auch gelten würde (nur als EXE geladen, aber Funktionen dynamisch) ... das wäre die Frage :?

Eine Executable, die sich selbst als Dll lädt, das ist selbst für dich eine außergewöhnlich kuriose Idee :lol:

Aber das Ziel der Lizenz ist afaik, das der User die verwendete Bibliothek (den LGPL-Code) selbst austauschen kann und darf, wenn er möchte. Das ist mit deiner Variante (wenn ich sie richtig verstanden habe) kaum möglich.

Aber mich verwirren solche Lizenzsachen auch, insofern kann das auch Murks sein.

himitsu 27. Jul 2010 06:28

AW: C-to-Delphi-Konverter
 
Wieso? Das hatte ich vor Jahren sogar mal in einem Testprojektchen ausprobiert und es geht X'D
Nja, ist halt praktisch, wenn du eine Funktion hast, welche man auch noch Sharen und anderen Programmen direkt zur Verfügung stellen möchte.

Beim dynamisch laden besteht ja die Möglichkeit auf das Vorhandensein einer DLL zu prüfen und dann jenachdem die DLL oder die "EXE" zu laden. :angel:

Nja, aber erstmal MySQL 5.x irgendwie in Delphi reinbekommen ...

himitsu 28. Jul 2010 11:29

AW: C-to-Delphi-Konverter
 
sch*** es gibt einfach keine "ordentlichen" Header zu finden.
Hole mir die nun direkt aus den verschiedenen MySQL-Referenzen (5.5 5.1 5.0 4.1 4.0 und 3.23)

(PS: der Converter vom FPC ist mir zu umsändlich)


Aber mal 'ne Frage dazu
Entspricht das C "int" eigentlich eher LongInt oder Integer?
irgendwie übersetzt das jeder anders.
(ist ja, in Bezug auf einen baldigen 64 Bit-Compiler, recht wichtig)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.
Seite 1 von 2  1 2      

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