Delphi-PRAXiS
Seite 4 von 10   « Erste     234 56     Letzte »    

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_ 10. Aug 2006 00:29

Re: DFMEdit
 
so,
die nächste beta ist draußen...
neu u.a. ist:
- TCollectionItem-enumeration
- Einstellungsdialog wurde überarbeitet
- bei Sprachwechsel auf Deutsch muss nicht mehr neu gestartet werden
- Position und Größe der Forms definierbar
- multiline-Stringproperties (wird u.a. bei Tlabel unterstützt)
- einige bugs gefixt

diese version ist der RC1 für die nächste stable, d.h. es werden bis zum final nur noch bugfixes durchgeführt und die Hilfedatei aktualisiert.

bitte mal Testen, wer Interesse hat...

Gruß Frank

_frank_ 14. Aug 2006 19:06

Re: DFMEdit
 
hat denn schon jemand einen Bug gefunden?
ich habe mittlerweile schon einige behoben...

hier mal ein Auszug aus der changelog (die Änderungen gegenüber der letzten stable-version 0.1.1.4):

Code:
0.1.1.13:
  saving window-sizes and positions
  no need for restart dfmedit when changing language back to german
  Type-enumeration for TCollections
  Flag-Images for Languages (in Preferences-Dialog)
  allow editing of Stringlist,TPicture,TBitmap and TIcon-Properties in Preview
  preferences-dialog
  lazarus-unit-support
  adding lazarus-form to open-/save-filter (*.lfm)
  result of setproperty
  auto-filled ObjectInspector
  new key-bindings
  help-file updated
  some optimizations
  splitting functions_u.pas (separating RTTI-functions)
  doubleclick on property text shows Add/Edit-Dialog
  loading vcl-packages (for 3rd party components, see help)
  adding escape-key to inspector (restoring last value)
  Autofilled Procedure-names for events
  Statusbar-resizing
  component-hierarchy (in add/edit-dialog)
  find node by text
  supporting unknown properties in TCollection (deleted for preview)
  want-to-close-question if file is changed
  bugs fixed
    - in preview try to create new object, cancel
    - AV in preview when loading a form which has same name as a Form-Resource and changing a property
    - delete-key should only delete node when treeview active
    - file not saved if dfmedit opened with file as parameter
    - inspector-window not visible in maximized state
    - different bugs from previos beta-versions fixed
    - search/replace-pagecontrol visible when importing text to tree
    - changed isNumeric-function to prevent massive breaks when debugger turned on
    - class-properties which has no subproperties (like TImage.Picture) are not shown in Objectinspector
    - handles can be negative on Win9x/ME
    - enter to confirm Edit/Add-Dialog is not working when spinbutton is visible (spinbutton replaced by TUpDown)
    - subclasses not enumerated
    - empty lines in Tstrings cut off
    - relative path of lazres and packages
    - AV when trying to Save Image
    - bug with image/imagelist-tab
    - bug with CB_Value.Style for Enums
    - string decoding is rewritten and Tcollection-Items will now also en-/decoded
    - invalid pointer/AV on exit when deleting special-Type
    - AV when preview a form with TMainMenu+TMenuItems (many thanks to BenBE)
    - prevent tab-changing when node change unconfirmed
Gruß Frank

_frank_ 16. Aug 2006 08:56

Re: DFMEdit
 
Zitat:

Zitat von Daniel G
Hmm... Sowas wie Multiselection wäre nicht schlecht, quasi so wie "Shift + Linke Maustaste" in der Delphi IDE, weil ich doch auch gerne mal Gruppen verschiebe, dabei aber die Ausrichtung beibehalten möchte..

Es gibt gute Nachrichten diesbezüglich...die resizing-Komponente wurde überarbeitet, jetzt wird auch multiselection unterstützt.
( http://angusj.com/delphi/ )

die schlechte Nachricht: ich muss mir erstmal überlegen, wie ich das multiselect in zusammenhang mit dem Objektinspector und dem kopieren/ausschneiden von controls verbinde. Wird also zum nächsten release noch nichts...

Gruß Frank

luwo 16. Aug 2006 10:09

Re: DFMEdit
 
Zitat:

Zitat von _frank_
hat denn schon jemand einen Bug gefunden?

Hallo Frank, erstmal RESPEKT, du hast da ein wirklich cooles Programm geschrieben.

Ein kleine Anmerkungen:
Hab die Version aus der Datei "dfmedit_0.1.1.13b.zip" probiert => meckert, dass "VCL30.dpl" nicht gefunden wird.
die Version aus "dfmedit_0.1.1.4.zip" geht (statisch gelinkt?)

Eine kleine Anregung:
Ich habe vor einiger Zeit mal damit begonnen ein Progrämmchen zu schreiben dass aus einer DFM-Datei Delphi/Pascal-Quellcode generiert,
mit dem man dann das Formular dynamisch zur Laufzeit erstellen kann.
Bin damals aber mangels Zeit und DFM-Objekt-Hierarchie bei einem rudimentärem Prototypen hängen geblieben :(

Das Ziel dabei wäre, dass man damit superschnell NON-VCL (im Sinne von "DFM nicht als Ressource verwenden") Programme
schreiben könnte, die aber trotzdem Formulare enthalten, und die auch noch mit den herkömmlichen IDEs (Delphi, Lazarus, etc.)
erstellbar/editierbar sind.

Was wäre es für ein Aufwand einen "QuellCode-Export" in deinen DFM-Editor zu integrieren?

Nur so ne Idee :-)

Ach ja: Bald is wieder Sandkerwa! :cheers:

Gruß ins wunderschöne Bamberg
(ein ehemaliger und hoffentlich bald wieder BA-ler :-D )

Luwo

_frank_ 16. Aug 2006 10:43

Re: DFMEdit
 
Zitat:

Zitat von luwo
Hallo Frank, erstmal RESPEKT, du hast da ein wirklich cooles Programm geschrieben.

danke
Zitat:

Zitat von luwo
Ein kleine Anmerkungen:
Hab die Version aus der Datei "dfmedit_0.1.1.13b.zip" probiert => meckert, dass "VCL30.dpl" nicht gefunden wird.
die Version aus "dfmedit_0.1.1.4.zip" geht (statisch gelinkt?)

lest ihr auch die hinweise auf der beta-seite bzw. den ganzen thread? hab das schon mehrfach in diesem thread geschrieben...
Zitat:

Zitat von luwo
Eine kleine Anregung:
Ich habe vor einiger Zeit mal damit begonnen ein Progrämmchen zu schreiben dass aus einer DFM-Datei Delphi/Pascal-Quellcode generiert,
mit dem man dann das Formular dynamisch zur Laufzeit erstellen kann.
Bin damals aber mangels Zeit und DFM-Objekt-Hierarchie bei einem rudimentärem Prototypen hängen geblieben :(

Das Ziel dabei wäre, dass man damit superschnell NON-VCL (im Sinne von "DFM nicht als Ressource verwenden") Programme
schreiben könnte, die aber trotzdem Formulare enthalten, und die auch noch mit den herkömmlichen IDEs (Delphi, Lazarus, etc.)
erstellbar/editierbar sind.

Was wäre es für ein Aufwand einen "QuellCode-Export" in deinen DFM-Editor zu integrieren?
Nur so ne Idee :-)

dfmedit hat bereits eine createpas/modifypas-funktion ;), sogar für lazarus (nur beta) ;)

Gruß Frank

luwo 16. Aug 2006 11:39

Re: DFMEdit
 
Zitat:

Zitat von _frank_
lest ihr auch die hinweise auf der beta-seite bzw. den ganzen thread? hab das schon mehrfach in diesem thread geschrieben...

Ups, sorry, hab ich nicht gelesen, hab mir die Dateien von SF gezogen. :oops:


Zitat:

Zitat von _frank_
dfmedit hat bereits eine createpas/modifypas-funktion ;), sogar für lazarus (nur beta) ;)

ja, stimmt, aber die erstellt ja das komplette Codegerüst,
ich dachte an was viel simpleres wie:

Aus dem DFM-"QuellCode"...
Code:
object Form1: TForm1
  BorderStyle = bsSizeable
  Caption = 'Ein einfaches formular'
  Height = 300
  Left = 908
  Top = 149
  Visible = True
  Width = 400
  object Panel1: TPanel
    Width = 291
    Visible = True
    Top = 16
    Left = 10
    Height = 107
    object Label1: TLabel
      Font.Name = 'Verdana'
      Width = 202
      Top = 5
      Left = 10
      Height = 13
      Caption = 'Ich bin ein Label'
    end
  end
end
...wird z.B. folgender PascalCode generiert:
Code:
function MyCreateForm:TForm;
var
     Form1 : TForm;
    Panel1 : TPanel;
    Label1 : TLabel;
begin

Form1:=TForm.create(nil);
with Form1 do
 begin
  BorderStyle:=bsSizeable;
  Caption:='Ein einfaches formular';
  Height:=300;
  Left:=908;
  Top:=149;
  Visible:=True;
  Width:=400;
 
  Panel1:=TPanel.create(Form1);
  with Panel1 do
  begin
    Parent:=Form1; // <-- ! Hierarchie beachten
    Width:=291;
    Visible:=True;
    Top:=16;
    Left:=10;
    Height:=107;
   

    Label1:=TLabel.create(Panel1);
    with Label1 do
    begin
      Parent:=Panel1; // <-- ! Hierarchie beachten
      Font.Name:='Verdana';
      Width:=202;
      Visible:=True;
      Top:=5;
      Left:=10;
      Height:=13;
      Caption:='Ich bin ein Label';
    end;

  end;

end;


result:=Form1;
end;
Dieses Ergebnis wurde übrigens mit meinen o.g. Prototypen generiert.
(Es fehlen halt noch viele Sachen wie z.B. Listboxen mit Strings, Imagelisten mit Bildern usw.)

Ziel: Die Erstellung der Formulare direkt im Programmcode, ohne Ressourcen zu verwenden.

uligerhardt 16. Aug 2006 11:47

Re: DFMEdit
 
Zitat:

Zitat von luwo
ja, stimmt, aber die erstellt ja das komplette Codegerüst,
ich dachte an was viel simpleres wie:

Aus dem DFM-"QuellCode"...
...wird z.B. folgender PascalCode generiert:
Ziel: Die Erstellung der Formulare direkt im Programmcode, ohne Ressourcen zu verwenden.

Wenn ich dich richtig verstehe, schau dir mal "GExperts -> Components to Code" an.

Uli.

luwo 16. Aug 2006 11:55

Re: DFMEdit
 
Zitat:

Zitat von uligerhardt
Zitat:

Zitat von luwo
ja, stimmt, aber die erstellt ja das komplette Codegerüst,
ich dachte an was viel simpleres wie:

Aus dem DFM-"QuellCode"...
...wird z.B. folgender PascalCode generiert:
Ziel: Die Erstellung der Formulare direkt im Programmcode, ohne Ressourcen zu verwenden.

Wenn ich dich richtig verstehe, schau dir mal "GExperts -> Components to Code" an.

Uli.

ooooohhhhhhhhh (mannomannomanno)^19 :wall: :wall: :wall:

Ich verwende die GExperts eigentlich seit Delphi5, aber diese Funktion
hab ich seltsamerweise noch nicht benutzt/angeguckt.

Vielen Dank Uli!
Das ist eigentlich GENAU das was ich gesucht habe. :bounce1:

Grüße Luwo

_frank_ 16. Aug 2006 11:58

Re: DFMEdit
 
Zitat:

Zitat von luwo
Ups, sorry, hab ich nicht gelesen, hab mir die Dateien von SF gezogen. :oops:

auf SF liegt keine version, die die vcl30.dpl benötigt...und es ist imho auch kein direktlink auf die beta-datei
Zitat:

Zitat von luwo
ja, stimmt, aber die erstellt ja das komplette Codegerüst,
ich dachte an was viel simpleres wie:

Aus dem DFM-"QuellCode"...
Code:
...
Dieses Ergebnis wurde übrigens mit meinen o.g. Prototypen generiert.
(Es fehlen halt noch viele Sachen wie z.B. Listboxen mit Strings, Imagelisten mit Bildern usw.)

Ziel: Die Erstellung der Formulare direkt im Programmcode, ohne Ressourcen zu verwenden.

das ganze ist aber nicht non-vcl...die wird trotzdem verwendet. ich seh den sinn darin nicht, das form komplett per code zu erstellen (bei kleineren forms i.O. aber bei großen...). Willst du verhindern dass sich die forms per res-editor (oder dfmedit) in der exe ändern lassen?
Das mit den imagelisten wird schwierig...aber warum schreibst du die dfm nicht verschlüsselt in die exe?
dann kannst du die dfm per ResourceStream laden, entschlüsseln in ne und per ReadComponentRes einem form zuweisen. in dem fall hast du das auch sauber umgangen...

Gruß Frank

luwo 16. Aug 2006 12:16

Re: DFMEdit
 
Zitat:

Zitat von _frank_
das ganze ist aber nicht non-vcl...die wird trotzdem verwendet. ich seh den sinn darin nicht, das form komplett per code zu erstellen (bei kleineren forms i.O. aber bei großen...). Willst du verhindern dass sich die forms per res-editor (oder dfmedit) in der exe ändern lassen?
Das mit den imagelisten wird schwierig...aber warum schreibst du die dfm nicht verschlüsselt in die exe?
dann kannst du die dfm per ResourceStream laden, entschlüsseln in ne und per ReadComponentRes einem form zuweisen. in dem fall hast du das auch sauber umgangen...

Klar ist das nicht komplett "non-VCL", darum ging es mir auch gar nicht, der Bezug sollte nur die Intention verdeutlichen.
Die eigentliche Entwicklungsidee ist ein Framework für Formulare für einen Interpreter zu basteln.
Um die Ressource-DFM´s weitgehend "unveränderbar" zu machen gibt es ja genügend Komprimierungs- bzw. Verschlüsselungsmöglichkeiten. :wink:

Aber trotzdem, cooles Programm! :thumb:

Und hab ich´s schon erwähnt: Bald is Sandkerwa!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.
Seite 4 von 10   « Erste     234 56     Letzte »    

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-2025 by Thomas Breitkreuz