AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

Ein Thema von QuickAndDirty · begonnen am 10. Okt 2012 · letzter Beitrag vom 11. Okt 2012
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#1

Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 10. Okt 2012, 11:19
Hallo ,
ich will ein Delphiprojekt das für sich alleine steht und wohl zu 100% Lazarus/FPC kompatibel ist in ein Lazarus Projekt umwandeln. Das ist quasi mein Testfall ob man damit 'ne kommerzielle Anwendung machen kann.

Leider benutze ich dort einige Units die ich mir zurecht gelegt habe, z.B. mit vorgefertigten Interfaces für verschiedene Design Pattern usw.

Gibt es 'ne Möglichkeit in Lazarus mit Pas Dateien zu arbeiten ohne sie umzubenennen oder muss ich die immer doppelt vorhalten?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
CCRDude
Online

Registriert seit: 9. Jun 2011
676 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 10. Okt 2012, 13:07
Ich hatte damit noch keine Probleme. Ich habe einen Ordner für eigene allgemeine Units, einen Ordner für projektbezogene Units, und den Projektordner. Die ersten beiden enthalten Units, die ich sowohl in Delphi als auch Lazarus verwende, genau identisch.

Wie kommst Du auf das umbenennen? Weil FreePascal auch .pp verwendet?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#3

AW: Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 10. Okt 2012, 13:13
Ich hatte damit noch keine Probleme. Ich habe einen Ordner für eigene allgemeine Units, einen Ordner für projektbezogene Units, und den Projektordner. Die ersten beiden enthalten Units, die ich sowohl in Delphi als auch Lazarus verwende, genau identisch.

Wie kommst Du auf das umbenennen? Weil FreePascal auch .pp verwendet?
Ja dachte die Kürzel wären wichtig.

Ist die .DPR unter Umständen in Lazarus nutzbar?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
CCRDude
Online

Registriert seit: 9. Jun 2011
676 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 10. Okt 2012, 15:31
Das könnte ich morgen ausprobieren. Solange es nur um Windows geht evtl. schon. Evtl. mit zwei $IFDEFs.

Delphi-Quellcode:
program CHOF;

{$mode objfpc}{$H+}

uses {$IFDEF UNIX} {$IFDEF UseCThreads}
   cthreads, {$ENDIF} {$ENDIF}
   Interfaces, // this includes the LCL widgetset
   Forms,
   zvdatetimectrls,
   // hier sind alle meine Units des Projektes, inklusive Formularen
   FormUnitCHOFMain;

{$R *.res}
begin
   RequireDerivedFormResource := True;
   Application.Initialize;
   Application.CreateForm(TFormCHOFMain, FormCHOFMain);
   Application.Run;
end.
Wenn Du cthreads, Interfaces und RequireDerivedFormResource per {$IFDEF FPC} in die .dpr ergänzt, könnte ich mir vorstellen, dass das klappt. Habe ich aber noch nie ausprobiert, weil die .dpr ja bei GUI-Projekten eh nur Kleinkrams sind, der sich selten ändert (und bei CLI-Projekten habe ich alles in einer separaten Unit).
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 11. Okt 2012, 08:26
Ich hatte damit noch keine Probleme. Ich habe einen Ordner für eigene allgemeine Units, einen Ordner für projektbezogene Units, und den Projektordner. Die ersten beiden enthalten Units, die ich sowohl in Delphi als auch Lazarus verwende, genau identisch.

Wie kommst Du auf das umbenennen? Weil FreePascal auch .pp verwendet?
Ja dachte die Kürzel wären wichtig.
FPC unterstützt bei Units die Endungen pas, pp und p. Erstere ist klar, zweitere war früher in der Anfangszeit von FPC für Code gedacht, der nicht zu Turbo Pascal kompatibel ist (rein orginisatorische Gründe), und letztere war die Standarderweiterung bei MacPascal (dessen Dialekt im großen und ganzen von FPC unterstützt wird).

Zitat:
Ist die .DPR unter Umständen in Lazarus nutzbar?
Siehe CCRDudes Antwort.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
CCRDude
Online

Registriert seit: 9. Jun 2011
676 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 11. Okt 2012, 10:42
Habe das .dpr-Experiment gerade gemacht. Hier ist mein .dpr, das sowohl in Delphi als auch Lazarus kompilierbar und korrekt nutzbar ist.

Delphi-Quellcode:
program Trac1684RusFormatDateTime;

{$IFDEF FPC} // ergänzt
{$mode objfpc}{$H+} // ergänzt
{$ENDIF FPC} // ergänzt

uses
   {$IFDEF FPC} // ergänzt
   {$IFDEF UNIX} {$IFDEF UseCThreads} // ergänzt
   cthreads, {$ENDIF} {$ENDIF} // ergänzt
   Interfaces, // this includes the LCL widgetset // ergänzt
   {$ENDIF FPC} // ergänzt
   Forms,
   Trac1684RusFormatDateTimeForm in 'Trac1684RusFormatDateTimeForm.pas{Form1};

{$R *.res}

begin
   {$IFDEF FPC} // ergänzt
   RequireDerivedFormResource := True; // ergänzt
   {$ENDIF FPC} // ergänzt
   Application.Initialize;
   Application.MainFormOnTaskbar := True;
   Application.CreateForm(TForm1, Form1);
   Application.Run;
end.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#7

AW: Lazarusprojekt und Delphiprojekt mit gemeinsamer Codebasis

  Alt 11. Okt 2012, 11:12
Hey, danke Dude für das Muster.

Ich glaube das wird gut.
Andreas
Monads? Wtf are Monads?
  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 11:01 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