Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi-Quellcode mit DCC32 im Speicher compilieren ? (https://www.delphipraxis.net/123500-delphi-quellcode-mit-dcc32-im-speicher-compilieren.html)

tomsson74 3. Nov 2008 13:24


Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Hallo zusammen,

gibt es eine Möglichkeit, einen compilierbaren Delphi-Quelltext mit dem Kommadozeilen-Befehl "DCC32" zu im Speicher zu kompilieren (also ohne diesen zuerst - auch nicht temporär - als Datei speichern zu müssen) ?

[EDIT]Ich setze voraus, das derjenige, der das Programm benutzt Delphi installiert hat.[/EDIT]

Hintergrund:

Ich möchte eine von meinem Programm generierte DLL (oder was auch immer) kompilieren ohne dass der Benutzer die Möglichkeit hat, einfach auf den Quelltext zuzugreifen.

Kann ich eventuell die entprechenden Datei-APIs hooken und dem Compiler eine Datei "vorgaukeln" die aber in wirklichkeit "aus dem Speicher kommt" ?

Oder ist dieser Ansatz unbrauchbar ?

Grüße
Thomas

Bernhard Geyer 3. Nov 2008 13:27

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Zitat:

Zitat von tomsson74
Ich möchte eine von meinem Programm generierte DLL (oder was auch immer) kompilieren ohne dass der Benutzer die Möglichkeit hat, einfach auf den Quelltext zuzugreifen.

Und du setzt vorraus das der Kunde eine passende Delphi-Lizenz+Installation besitzt? DCC32 darf nicht verteilt werden!

Phoenix 3. Nov 2008 13:28

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Hrm.. wenn ich Barry auf der EKON richtig verstanden habe, macht die IDE eigentlich genau das, um noch nicht gespeicherte Projekte zu kompilieren und um die Fehler im Code in der IDE anzuzeigen. Es müsste also technisch gehen. Allerdings dürften die ganzen Hooks und Callbacks im Compiler eher zu den undokumentierten Features zählen, das heisst: Ausprobieren ist angesagt.

Auf der anderen Seite kann ich mir nicht vorstellen, dass Du den Delphi-Compiler mit Deiner Exe zusammen ausliefern darfst. Das ganze wäre also nicht Lizenzkonform.

smallsmoker 3. Nov 2008 13:28

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
erstmal denke ich das es ziemlich verboten ist den compiler von borland/embarcadero in seinem programm mitzuliefern ?! (kann mich aber auch irren)

Edit: da war jemand schneller :)

Bernhard Geyer 3. Nov 2008 13:41

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Einzig der für ASP.NET verwendete dccil-Compiler durfte verteilt weden.
Ansonsten wäre der Compiler ohne mitgelieferte Quellcodes (RTL, CLX, VCL) ziemlich eingeschränkt verwendbar. Und die darf man auch nicht verteilen.

tomsson74 3. Nov 2008 14:08

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Ich ergänze:

Ich setze voraus, dass derjenige der das Programm benutzt Delphi installiert hat.

Ich will keine Teile von Delphi ausliefern, das war nie meine Absicht.

:)

Thomas

Bernhard Geyer 3. Nov 2008 14:13

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Zitat:

Zitat von tomsson74
Ich setze voraus, dass derjenige der das Programm benutzt Delphi installiert hat.

Ich will keine Teile von Delphi ausliefern, das war nie meine Absicht.

Dann schreib das auch. Wenn du von Programm und Anwender sprichst werden die wenigsten an SW-Entwicklung und Entwickler mit IDE denken :roll:

mjustin 3. Nov 2008 18:10

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Zitat:

Zitat von tomsson74
Hallo zusammen,
gibt es eine Möglichkeit, einen compilierbaren Delphi-Quelltext mit dem Kommadozeilen-Befehl "DCC32" zu im Speicher zu kompilieren (also ohne diesen zuerst - auch nicht temporär - als Datei speichern zu müssen) ?

Mit Free Pascal, dies kann auch Delphi Sourcecode kompilieren, sollte dasim Prinzip möglich sein. Der Quelltext für Free Pascal ist ja Open Source und daher läßt sich ein in-Memory Compiler vermutlich realisieren.

Natürlich geht das nur wenn das Programm nicht auf Units zugreifen muss, die es exklusiv nur in CodeGear Delphi gibt.

Weiterer Vorteil: keine Lizenzkosten :angel:

Luckie 3. Nov 2008 19:07

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Gut, und wo steht der Quelltext, der zur Laufzeit kompiliert werden soll?

Prototypjack 3. Nov 2008 19:07

Re: Delphi-Quellcode mit DCC32 im Speicher compilieren ?
 
Moin,

Zitat:

Zitat von mjustin
Zitat:

Zitat von tomsson74
Hallo zusammen,
gibt es eine Möglichkeit, einen compilierbaren Delphi-Quelltext mit dem Kommadozeilen-Befehl "DCC32" zu im Speicher zu kompilieren (also ohne diesen zuerst - auch nicht temporär - als Datei speichern zu müssen) ?

Mit Free Pascal, dies kann auch Delphi Sourcecode kompilieren, sollte dasim Prinzip möglich sein. Der Quelltext für Free Pascal ist ja Open Source und daher läßt sich ein in-Memory Compiler vermutlich realisieren.

Natürlich geht das nur wenn das Programm nicht auf Units zugreifen muss, die es exklusiv nur in CodeGear Delphi gibt.

Weiterer Vorteil: keine Lizenzkosten :angel:

Da stehen mir schon wieder die Haare zu Berge.

Nur weil irgendwo "Open-Source" draufsteht, heißt das noch lange nicht, dass damit machen kann, was man will! Bevor du also irgendwas weitergibst (sei es in Einzelteilen oder sonst irgendwie) prüfe die Lizenz, denn es hat seinen Grund, wieso selbst OpenSource Lizenzen verwendet!

Die Autoren haben schlichtweg das Recht sich einige Rechte vorzubehalten, nur werden Verstöße gegen diese leider immer noch allzu oft als Kavaliersdelikt gesehen.

Grüße,
Max


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz