platzierte visuelle Objekte nachträglich ableiten
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Ich frag mich langsam was du willst willst du sie Programmtechnisch erstellen nur um sie nicht in die ide eincompilieren zu müssen ?
Oder gehts dir nur um die zeit wärend du die Komponente baust ? In dem fall kannst du die 4 zeilen code um sie programmtechnisch zu erstellen ruhig ma schreiben also allein was du in diesem thread geschrieben hast dürfte für die nächsten 50 Komponenten reichen.
Oder gehts dir nur um die zeit wärend du die Komponente baust ? In dem fall kannst du die 4 zeilen code um sie programmtechnisch zu erstellen ruhig ma schreiben also allein was du in diesem thread geschrieben hast dürfte für die nächsten 50 Komponenten reichen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
>>Fpc 2.2.x wird packaging mitbringen damit können dann komponenten "on-the-fly" eingebunden werden.
Jetzt, wo ich es einmal gemacht habe, verstehe ich was das heißt: Momentan kann man in Lazarus visuell platzierte Komponenten überhaupt nicht debuggen (In Delphi kann man den Sourcecode einer installierten Komponente in's Projekt aufnehmen und dann auch debuggen.) Wie Du sagst sind Verbesserungen ja in Sicht
-Michael
Jetzt, wo ich es einmal gemacht habe, verstehe ich was das heißt: Momentan kann man in Lazarus visuell platzierte Komponenten überhaupt nicht debuggen (In Delphi kann man den Sourcecode einer installierten Komponente in's Projekt aufnehmen und dann auch debuggen.) Wie Du sagst sind Verbesserungen ja in Sicht

-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Es geht um Erweiterungen von visuellen Standard-Komponenten, die ich nur in einem Projekt brauche und vermutlich nie wieder. Dafür ist es doch wenig Sinnvoll, die Komponente zu installieren. (Momentan brauche ich das überhaupt nicht, ich bin momentan nur GUI-losen Programmen interessiert, aber ein Kollege kam mit dieser Frage und da ich das Problem schon oft hatte und in Delphi nicht lösen konnte, wollte ich wissen, ob Lazarus da eine Methode für hat.)Christian hat geschrieben:Ich frag mich langsam was du willst
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Das ist, glaube ich, genau die richtige Idee !Christian hat geschrieben:Es wäre villeicht sinvoll wie ich angeführt habe das wenn packaging da ist die komponenten ans projekt gebunden werden können und beim öffnen des projektes automatisch mitinstalliert werden.
- Man kann in einem Projekt bestimmte Units als installierbare Komponenten (unter Angabe des Paketes, in dem sie installiert werden sollen) definieren. (Ich bin bei meinen Versuchen ziemlich durcheinander gekommen, weil die Unit, die ich für die Komponente erzeugt habe, immer zu dem vorher geöffneten Projekt zugeschlagen wurde, was damit eigentlich nichts zu tun hatte.)
- Man kann diese Unit(s) kompilieren (wie ein Projekt) und installiern (statt starten). Das Installieren gilt zunächst nur für das laufende Projekt. Wenn man sie global installieren will, muss man das zusätzlich machen. Beim Neu Öffnen des Projektes ist die Komponente wieder da.
- Wenn man sie installiert hat (um eine neue zu machen erst 'mal ein Dummy, das von einer Standard-Komponente abgeleitet ist), kann man sie platzieren.
- Wenn man eine platzierte Komponente verwendet, deren Unit im Projekt ist,
. - Wird sie beim Starten des Projektes automatisch übersetzt (wenn geändert).
. - Kann man darin Breakpoints setzen etc.
Das sollte mit Packaging doch möglich sein, oder ?
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Nicht dass wir uns falsch verstehen. Ich meine nicht das Verhalten des visuellen Objekts beim Platzieren auf dem Form in der IDE. Ich glaube nicht, dass man das mit Delphi debuggen kann. Da ist wahrscheinlich Blindflug angesagt oder irgend ein Trick mit einer zweiten Delphi-Instanz oder so. Ich meine das Verhalten des Objekts im laufenden User-Programm. (Wie gesagt ist das Verhalten in den beiden Fällen sowiseo nur dann unterschiedlich, wenn man mit "csdesigning explizit eine Unterscheidung programmiert.)
Ich verstehe ehrlich gesagt nicht, was das mit DLLs zu tun hat. Die Unit mit dem visuellen Objekt wird doch statisch in das User-Programm eingebunden. Da ist doch eigentlich kein Unterschied zu nicht visuell platzierten Objekten. Die IDE muss beim Debuggen nur wissen, wo sie den Sourcecode finden soll. Vielleicht geht das ja sogar jetzt schon, wenn man die Unit mit dem visuellen Objekt (das man vorher korrekt installiert hat) in's Projekt einbindet. (Ich habe momentan noch etwas Probleme mit dem Projekt-Management und dem Installieren von Paketen in Lazarus klarzukommen.)
-Michael
Ich verstehe ehrlich gesagt nicht, was das mit DLLs zu tun hat. Die Unit mit dem visuellen Objekt wird doch statisch in das User-Programm eingebunden. Da ist doch eigentlich kein Unterschied zu nicht visuell platzierten Objekten. Die IDE muss beim Debuggen nur wissen, wo sie den Sourcecode finden soll. Vielleicht geht das ja sogar jetzt schon, wenn man die Unit mit dem visuellen Objekt (das man vorher korrekt installiert hat) in's Projekt einbindet. (Ich habe momentan noch etwas Probleme mit dem Projekt-Management und dem Installieren von Paketen in Lazarus klarzukommen.)
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Ich hab's gerade getestet. Funktioniert in Lazarus jetzt schon genau wie in Delphi.
Wenn der Sourcecode einer visuellen Komponente (die in irgendeinem Package installiert ist) mit in's Projekt aufgenommen wird, kann man darin Breakpoints setzen und zur Laufzeit des Programms normal debuggen. Wenn man den Quellcode ändert, wird die Unit neu übersetzt und im neu gebauten Programm verwendet.
In Lazarus kann man aber (andres als in Delphi) auch in Komponenten hinein steppen, deren Sourcen nicht ins Projekt eingebunden sind.
Als ich aber versucht habe, da Breakpoints zu setzen, sind komische Sachen passiert. Das ist wohl nicht zulässig.
-Michael
Wenn der Sourcecode einer visuellen Komponente (die in irgendeinem Package installiert ist) mit in's Projekt aufgenommen wird, kann man darin Breakpoints setzen und zur Laufzeit des Programms normal debuggen. Wenn man den Quellcode ändert, wird die Unit neu übersetzt und im neu gebauten Programm verwendet.
In Lazarus kann man aber (andres als in Delphi) auch in Komponenten hinein steppen, deren Sourcen nicht ins Projekt eingebunden sind.
Als ich aber versucht habe, da Breakpoints zu setzen, sind komische Sachen passiert. Das ist wohl nicht zulässig.
-Michael