Delphi-PRAXiS
Seite 8 von 10   « Erste     678 910      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DFMEdit (https://www.delphipraxis.net/70017-dfmedit.html)

_frank_ 19. Sep 2006 00:43

Re: DFMEdit
 
ich hab die beiden neuen Funktionen mal in die normale Oberfläche integriert.
weiterhin war ein Fehler in der code-generierung (beim Zusammenfassen gleicher Klassen).
der Bug mit den doppelten Paketen ist natürlich auch gefixt.

evtl. fällt jemand ein guter Name für die Funktionen ein ("Laufzeitcode erstellen" und "unerwünschte Eigenschaften löschen" klingt besch...) ;)

den "Teletubbie-Support" hab ich auch übernommen, wenn das jemand testen möchte (D3 hat kein XPMan)

Sagt bitte bescheid, ob die neuen Funktionen sind wie gewünscht, bzw. was noch verändert werden soll...

weiterhin ist es in dieser Version (0.2.0.4 ) möglich copy/cut/paste auch mit multiselection zu verwenden. evtl. verstecken sich auch hier Fehler (meine tests liefen fehlerfrei).
ich habe außerdem noch eine funktion zur Bestimmung des Index bei Imagelisten hinzugefügt...das activecontrol muss ein Spinedit auf dem Tab_Imagelist sein. wenn man jetzt auf eins der images klickt wird sein index in das spinedit geschrieben...

Zitat:

Zitat von uligerhardt
Hast du schon mal geschaut, was in TGraphic.DefineProperties abgeht?

defineproperties setzt den handler zum schreiben/lesen der dfm, in der entsprechenden Methode wird SaveToStream des jeweiligen Grafiktypes (TBitmap/TIcon/...) aufgerufen. nur ich habe keine ahnung, wie ich dies sinnvoll verwenden kann. da das grundproblem bleibt (zusätzlicher header, teilweise unbekannt).

//edit:
unwanted.obj geändert und angehängt
noch ein bug:
löschen in der Packageliste löscht nicht in ini
Options_u.pas:224:ini.EraseSection('packages');

Gruß Frank

_frank_ 20. Sep 2006 05:01

Re: DFMEdit
 
hab jetzt den OI bei multiselect aktiviert (wenn gleiche typen markiert sind).
Link im ersten posting, vcl30.dpl auf der beta-seite

bei unterschiedlichen typen würde der OI nur noch left/top/height/width/align enthalten. alles andere ist imho zu rechnenintensiv (bei jeder markierungsänderung alle controls durchgehen, deren properties holen und nicht vorhandene aus ursprungsliste löschen)

weiterhin hab ich eine positions-anpassung beim einfügen eingebaut, da es sein kann, dass ein eingefügtes control im neuen parent nicht mehr sichtbar ist (wenn parent kleiner als altes parent)

die bugs
- beim paket-löschen
- fehlendes update im OI wenn Eigenschaft durch dialog geändert wurde
sind behoben und ereignisse werden aus treeview ausgelesen[delphi]

Gruß Frank

DevilsCamp 20. Sep 2006 07:13

Re: DFMEdit
 
Funktioniert eigentlich inzwischen das einbinden von Turbo-Delphi BPLs?

Bisher war konnte ich die zwar angeben, die Komponenten in dem BPL waren DFMEdit jedoch unbekannt.

_frank_ 20. Sep 2006 07:50

Re: DFMEdit
 
die packages die eingebunden werden sollen müssen mit dem gleichen compiler erstellt worden sein wie die exe. d.h. wenn du packages von turbo-delphi einbinden willst musst du dfmedit auch mit turbo-delphi übersetzen.
Ich kann an der Auf-/Abwärts-Kompatibilität von Packages leider nichts machen. Ist eine funktion, die regeln von Borland unterliegt und nicht meinen ;(

Falls es trotzdem nicht klappt, probiere mal das Testpackage aus der zip-datei zu kompilieren und dein kompilat zu importieren (die test.dpl nicht mit entpacken => d3-binärpackage).

hast du die neuen Funktionen schon probiert?
aso, ein Grid für die Ausrichtung im Preview hat die 0.2.0.5 auch ;)

HTH Frank

uligerhardt 20. Sep 2006 08:38

Re: DFMEdit
 
Zitat:

Zitat von DevilsCamp
Funktioniert eigentlich inzwischen das einbinden von Turbo-Delphi BPLs?

Bisher war konnte ich die zwar angeben, die Komponenten in dem BPL waren DFMEdit jedoch unbekannt.

Nach meiner Erfahrung musst du explizite RegisterClass-Aufrufe in die Packages einbauen,
damit DFMEdit die enthaltenen Komponenten findet. Delphi kann das irgendwie auch ohne,
vermutlich mit mehr oder weniger gut dokumentierter RTTI.

_frank_ 20. Sep 2006 09:02

Re: DFMEdit
 
Jepp, darauf wollte ich hinaus...das beispiel zeigt, wie ein package aufgebaut sein muss, damit es in dfmedit funktioniert.
nur wenn es mit dem beispiel nicht geht, hat borland etwas geändert...

Gruß Frank

DevilsCamp 20. Sep 2006 09:24

Re: DFMEdit
 
Ich habe gerade mal die aktuellste Beta mit Turbo Delphi kompiliert.
Ebenso das Testpackage, welches ich dann in der Packageliste in den Optionen stehen sehe.

Doch die Komponente "MyShape", die in diesem Package ist, wird von DFMEdit NICHT zur Auswahl angeboten.

_frank_ 20. Sep 2006 09:26

Re: DFMEdit
 
die Komponentenauswahl enthält nur die sections, die in der components.obj definiert sind...
versuche mal ein TMyShape zu erstellen (im Add-Dialog müsste, nachdem bei Typ TMyShape steht, auch die Hierarchie angezeigt werden...).

zum testen mal eine dfm-definition...

Delphi-Quellcode:
object Form1:TForm1
  BorderStyle = bsSizeable
  Caption = 'Form1'
  Height = 300
  Left = 10
  Top = 10
  Visible = True
  Width = 400
  object MyShape1: TMyShape
    Width = 120
    Visible = True
    Top = 10
    Left = 10
    Height = 21
  end
end
HTH Frank

DevilsCamp 20. Sep 2006 09:44

Re: DFMEdit
 
Also das funktioniert dann.

Allerdings nicht mit den Komponenten aus dem dclusr-Package. :(

_frank_ 20. Sep 2006 09:55

Re: DFMEdit
 
wie schon gesagt wurde, es muss RegisterClass für jede komponente aufgerufen werden, die verfügbar sein soll. siehe die demo (initialization/finalization)...


HTH Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 Uhr.
Seite 8 von 10   « Erste     678 910      

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