AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus vs: Delphi xe namespaces

Ein Thema von bernhard_LA · begonnen am 25. Sep 2012 · letzter Beitrag vom 26. Sep 2012
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Lazarus vs: Delphi xe namespaces

  Alt 25. Sep 2012, 21:43
ich denke Lazarus 1.0 kann aktuell keine Delphi XE Projekte einlesen wegen den in dieser Delphiversion eingeführten Unit namespaces.

Was wäre denn der beste Ansatz um Projekte sowohl unter Lazarus als auch unter D XE, XE2 ..... läuffähig zu bekommen??
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Lazarus vs: Delphi xe namespaces

  Alt 25. Sep 2012, 22:04
Man muß keine Namespaces in XE2+ verwenden.

Ansonsten mach es wie alle Anderen auch und leg ein IFDEF um die Uses drumrum.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Lazarus vs: Delphi xe namespaces

  Alt 26. Sep 2012, 07:48
Beim Einfügen von Komponenten werden die benötigten Units aber automatisch mit Namespaces eingefügt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

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

AW: Lazarus vs: Delphi xe namespaces

  Alt 26. Sep 2012, 09:20
Als kleine Erläuterung noch:

Lazarus 1.0 (also die IDE an sich) unterstützt Namespaces.

Beim darunterliegenden Free Pascal Compiler schaut es unterschiedlich aus:

Free Pascal 2.6.0 (welcher bei Lazarus 1.0 dabei ist) unterstützt keine Namespaces.

Free Pascal 2.7.1 (die Entwicklungsversion, welche auch von Lazarus unterstützt wird) bietet Unterstützung für Namespaces.
Aber: Die Units der RTL, LCL und so weiter sind noch nicht auf Dotted Unit Names umgestellt und mir ist auch kein Plan bekannt dies zu tun. Außerdem unterstützt FPC das "Standardnamespace" Feature von XE 2 noch nicht, wobei mir hier auch noch kein Plan bekannt ist dies zu ändern.

Noch zur Frage an sich:
Meiner Einschätzung nach dürfte eine gleichzeitige Unterstützung für (GUI) Code von Lazarus/FPC und Delphi 2009+ (oder auch nur Delphi XE 2+) recht schwierig und wenn überhaupt sehr IFDEF-lastig werden, da einerseits die Dotted Unit Names Problematik existiert und andererseits ja auch die String Typen unterschiedlich sind (Delphi verwendet UnicodeString, während FPC noch AnsiString verwendet und noch dazu Lazarus in den AnsiString UTF-8 reinschreibt).

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

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Lazarus vs: Delphi xe namespaces

  Alt 26. Sep 2012, 11:14
Bei Delphi muß man auch noch aufpassen, also mit den NameSpases.

Da gibt es SysUtils , welches über die Projektoptionen automatisch einen passenden Namespace verpasst bekommen könnten.
Dann natürlich direkt System.SysUtils , aber es gibt auch noch System_SysUtils , welches aber was ganz Anderes ist. (k.A. wer sich das ausgedacht hat)

Die Units mit Namespace + Punkt + Unitname sind zu bevorzugen und nutzen den string (UnicodeString),
aber die Units mit Namespace + Unterstrich + Unitname nutzen stattdessen den WideString und sind daher untereinander nicht unbedingt kompatibel.
Vorallem sollte man da wohl aufpassen, daß man keine doppelten "globalen" Variablen reinbekommt, da diese beiden Varianten unabhängig voneinander sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Lazarus vs: Delphi xe namespaces

  Alt 26. Sep 2012, 12:04
aber es gibt auch noch System_SysUtils , welches aber was ganz Anderes ist. (k.A. wer sich das ausgedacht hat)
Die Units sind nur in XE2 für iOS wegen dem damaligen FPC Stand (keine Punkte im Unitnamen).

Da jeder Entwickler, der mit XE2 und höher arbeitet und Units/Forms erstellt/bearbeitet, die auch abwärtskompatibel sein sollen, automatisch die scoped Unitnamen in die Units bringt, habe ich mal bei mir in die GExperts im Uses Clause Manager eine Aktion eingebaut, mit der man den Unitscope entfernen kann.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 14:53 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