AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Grundsätzliche Frage zu Lazarus Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Grundsätzliche Frage zu Lazarus Komponenten

Ein Thema von QuickAndDirty · begonnen am 26. Dez 2010 · letzter Beitrag vom 6. Jan 2011
Antwort Antwort
Seite 1 von 2  1 2      
QuickAndDirty

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

Grundsätzliche Frage zu Lazarus Komponenten

  Alt 26. Dez 2010, 20:04
Hallo ich bin ein noob was Lazarus angeht...und bevor es jemand in den falschen Hals bekommt...ich finde es klasse was Lazarus und Freepascal so drauf haben und was da im Internet so entstanden ist. Nur eine Sache hat mich jedesmal gestört, wenn ich versucht war auf Lazarus zu wechseln.

Da der Umfang der Komponenten Bilbliothek von Lazarus "ab Werk" sooo gar nicht umfangreich ist ist man ja darauf angewiesen Komponenten nachträglich einzufügen...finde ich ok.
Aber warum muss ich dafür die IDE jedes mal neukompilieren? Das ist in sofern Kritik meiner seits, weil ich das schon mehrmals nicht hinbekommen habe und dann lieber neuinstalliert habe, weil ich die Fehler nicht mehr hinbekam. Das Ausprobieren von Komponenten wird ja so recht schwer. Andererseits interessiert es mich wirklich wieso man das nicht anders gelöst hat. Hat einer eine Idee?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 27. Dez 2010, 13:42
Der Freepascal-Kompiler unterstützt einfach noch keine Packages, mit denen Objekte zur Laufzeit (zum RTTI-System) hinzugefügt werden können.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
QuickAndDirty

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 28. Dez 2010, 10:12
ok,
-Ist das RTTI System ein System übergreifender Standard?
-Gibt es ein RTTI System nur unter Windows?
-Hat Lazarus oder Delphi sein eigenes RTTI System?

Gibt es überhaupt Leute in der FPC Community die wissen wie umständlich das zurzeit für die IDE ist?

Ich habe so das Gefühl das es da nicht viele Überschneidungen gibt zwischen der Lazarus und der FPC Community...täusche ich mich da?

Gibt es ein laufendes Unterprojekt für packages in FPC?
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (28. Dez 2010 um 12:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 29. Dez 2010, 22:22
Ich versuch dich jetzt mal etwas (in Bezug auf Packages) aufzuklären.

Delphi unterstützt sogannte Dynamische Packages, welche im großen und ganzen DLLs mit ein bisschen Compiler Magic dahinter sind, damit du auch einfach Klassen, etc. aus so einem Package nutzen kannst. Mit einer normalen DLL hast du nämlich früher oder später ein Problem, wenn du einfach Objekte von der Anwendung zur DLL oder umgekehrt weiterreichst.

So... diese Magic basiert auch sehr darauf wie DLLs unter Windows funktionieren (es gibt da ein paar dezente Unterschiede zwischen Windows DLLs, Linux SOs und OS X Dynlibs), weshalb dies natürlich entsprechend zumindest für die wichtigsten Platformen (Windows, Linux, Max OS X) im Compiler implementiert werden muss.

Die Entwickler (hierbei geht es vor allem um die Free Pascal Entwickler) wissen zwar, dass vor allem für Lazarus solche Packages von enormen Vorteil wären, doch darfst du nicht vergessen, dass der Compiler von Leuten in ihrer Freizeit geschrieben, erweitert und gepflegt wird (mir ist zumindest kein Fulltime FPC Entwickler bekannt). Und man kann solchen Freiwilligen eben nicht vorschreiben woran sie zu arbeiten haben. Jeder pickt sich nämlich das raus, was er gern machen möchte.

Vor kurzem hat allerdings jemand Interesse angemeldet Packages in FPC zu implementieren, also vielleicht sehen wir "demnächst" mal was. (nein, nicht ich )

Noch zur RTTI: RTTI steht für RunTime Type Information und wird zum Beispiel von Lazarus und Delphi dazu verwendet den Object Inspector mit der Liste der veröffentlichten Properties einer Komponente (Stichwort "published") zu füttern und dann daraus die LFM- bzw. DFM-Datei zu erzeugen.

Neben der Konsistenz der RTTI ist bei Packages allerdings zum Beispiel auch zu beachten (aus Sicht des Implementierers), dass z. B. eine bestimmte Unit nur einmal in der gesamten Anwendung (EXE + Packages) vorkommen darf.

Ich hoffe das hat dir etwas Einblick verschafft.

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

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 31. Dez 2010, 08:31
Also ich weiß durchaus grundsätzlich was Delphi packages machen und das es DLLs sind die beim Laden irgendwie ihre RTTI informationen in die anwendnung integrieren während normale DLLs ja ihre RTTIs ganz alleine verwalten.

Mich wundert eben nur das von den compiler menschen alles mögliche gehackt wird (Windowsce unterstützung für arm etc..) aber nicht sowas.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 31. Dez 2010, 12:42
Dass man Komponenten überhaupt umständlich in der IDE 'installieren' muss, kann man umgehen indem sie dynamisch (zur Laufzeit) erstellt werden. Das geht auch in Lazarus, und auch bei visuellen Komponenten. Sie sind dann zwar nicht so schön im Designmodus sichtbar, aber für Tests ist es auf jeden Fall ausreichend. So kann man auch problemlos ständig neue Versionen von Lazarus oder FPC mit diesen Komponenten testen - ohne zusätzliches Neukompilieren. Auch in Delphi gehe ich bei der Entwicklung wo immer es geht dazu über, Komponenten im Code zu erzeugen und zu konfigurieren / verdrahten. Spart auch eine Menge Boilerplatecode (wie Notification / RemoveFreeNotification).
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
QuickAndDirty

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 1. Jan 2011, 11:50
Also mich stört weniger der gute alte Boilerplate code (da weiß ich wenigstens immer gleich wo ich bin). Aber es stimmt ich kann zum durchtesten der Komponenten auch erstmal auf eine Einbindung in die IDE verzichten. Irgenwie habe ich daran garnicht gedacht.

Aber es ist auch schön so im ObjectInspector die Events und Eigenschaften durch zu probieren...
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 2. Jan 2011, 12:35
Mich wundert eben nur das von den compiler menschen alles mögliche gehackt wird (Windowsce unterstützung für arm etc..) aber nicht sowas.
Das ist eben der Punkt an einem Open Source Projekt wie Free Pascal: Jeder arbeitet - wenn er denn überhaupt selbst was reinsteckt - an Dingen, die einen selbst interessiern.

Ich selbst habe zum Beispiel den Compiler darum erweitert Code für reine Windows NT Kernel zu schreiben (ohne Win32), was es letztendlich auch ermöglicht Treiber zu schreiben (auch wenn der Teil noch nicht ausgereift ist ). Mein nächstes Projekt ist es "class helpers" zu implementieren (der erste Proof of Concept code funktioniert bereits, jetzt muss ich noch die restlichen Inkompatibilitäten zu Delphi ausmerzen ^^).

Dynamische Packages waren einfach bisher niemanden wichtig genug, so dass er oder sie sich selbst hinsetzt und es implementiert (die Thematik ist eben nicht so einfach, wie man glaubt). Allerdings hat sich vor ein paar Monaten wie gesagt jemand gefunden, dem es wichtig genug ist. Vielleicht sehen wir im neuen Jahr dann Fortschritte.

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

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 2. Jan 2011, 20:21
Wo finde ich denn konkretes zu der von dir angedeuteten Existenz eines Projektes das dynamische Laufzeit-Packages unter Delphi verfügbar macht?

Ich nehme an der FPC ist in c oder c++ geschrieben?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

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

AW: Grundsätzliche Frage zu Lazarus Komponenten

  Alt 3. Jan 2011, 13:31
Wo finde ich denn konkretes zu der von dir angedeuteten Existenz eines Projektes das dynamische Laufzeit-Packages unter Delphi verfügbar macht?
Das was etwas konkreten am nächsten kommt ist diese E-Mail des von mir besagten Interessenten.

Zitat von QuickAndDirty:
Ich nehme an der FPC ist in c oder c++ geschrieben?
Aber nein. FPC besteht aus 100% Object Pascal code.

Die erste Version wurde damals (~1993) mit Turbo Pascal geschrieben und irgendwann war der Compiler dann in der Lage sich selbst zu kompilieren. Seit dem wird Free Pascal nur noch mit Free Pascal entwickelt.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:58 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