Delphi-PRAXiS
Seite 9 von 10   « Erste     789 10      

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)

uligerhardt 20. Sep 2006 10:33

Re: DFMEdit
 
Als Beispiel mal, wie ich DFMEdit den VirtualTreeView bekannt gemacht habe. Die Originalquellen hab ich gar nicht angefasst, stattdessen ein neues "Wrapper-Package" gebaut:

MyVTReg.pas:
Delphi-Quellcode:
unit MyVTReg;

interface

implementation

uses
  Classes,
  VirtualTrees;
 
initialization
  RegisterClasses([TVirtualStringTree, TVirtualDrawTree]);
finalization
  UnRegisterClasses([TVirtualStringTree, TVirtualDrawTree]);
end.
und MyVTRegP.dpk:
Delphi-Quellcode:
package MyVTRegP;

{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO OFF}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST ON}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD ON}

requires
  vcl,
  VirtualTreesD10;

contains
  MyVTReg;

end.
Allerdings war der VT danach immer noch nicht vollständig integriert, da fehlen wohl noch diverse Einträge in den *.obj's. Das auszuprobieren hatte ich dann allerdings keine Lust mehr.

DevilsCamp 20. Sep 2006 10:36

Re: DFMEdit
 
Ich verzweifle grad.

Ich habe alles so gemacht wie bisher besprochen, doch wenn ich die Komponente nun im DFMEdit einsetze und auf "Vorschau" klicke, dann bekomme ich folgende Fehlermeldung:
Code:
---------------------------
Fehler
---------------------------
Zugriffsverletzung bei Adresse 5100B847 in Modul 'dclusr100.bpl'. Lesen von Adresse 00000068 (EAccessViolation)
---------------------------
OK  
---------------------------


[edit]
Komischerweise ist es nur EINE der Komponenten, die diese Meldung erzeugt.
Blöderweise ist es aber die für mich am wichtigste :(
[/edit]

_frank_ 20. Sep 2006 20:06

Re: DFMEdit
 
also zugriffsverletzung klingt nicht nach einem Packet-Fehler...ich würde eher denken, dass die komponente selber buggy ist...
um welche komponente handelt es sich denn? hast du den quellcode?
hast du ein eigenes Package für die kompo gemacht? funktioniert das bei delphi?
Packages lassen sich halt bescheiden debuggen. evtl mal die kompo hardcoded in die classes_u mit einbinden (registerclasses nicht vergessen) und erneut probieren.

HTH Frank

DevilsCamp 20. Sep 2006 20:47

Re: DFMEdit
 
Da ich Turbo Delphi nutze
Zitat:

Zitat von _frank_
um welche komponente handelt es sich denn? hast du den quellcode?

Es ist eine selbstgeschriebene. Ja, Quellcode habe ich

Zitat:

hast du ein eigenes Package für die kompo gemacht?
Da ich Turbo Delphi nutze, habe ich sie in die dclusr eingebaut.

Zitat:

funktioniert das bei delphi?
Und das funktioniert.



Ich glaube inzwischen auch nicht daran, dass es an dem Package liegt. Andere Komponenten aus der dclusr100.bpl werden ohne Probleme angezeigt.

_frank_ 20. Sep 2006 20:52

Re: DFMEdit
 
um den Fehler zu lokalisieren würde ich die komponente mal statisch einbinden (uses in classes_u.pas, registerclasses) und breakpoints innerhalb der klasse machen (constructor, onpaint, etc)...dann müsstest du sehen, wo die AV herkommt ;)

schonmal die neuen Funktionen getested/neuer Name dieser eingefallen?

//edit:
hab mir jetzt mal Turbo-delphi installiert...musste erstmal sämtliche TSpinedits/TSpinbuttons in TUpDown ändern (weil es die Komponenten nicht mehr gibt bzw. sich das Zusatzpacket nicht installieren lässt), jetzt läuft es erstmal
ich musste nur feststellen, dass die popups in der toolbar nicht funktionieren. Auch das setzen der EnableDropdown-Eigenschaft half nicht (da wird button ausgegraut)...was ist da falsch?

im Anhang mal das geänderte Main-und Options-Form
die functions_u.pas enthält den folgenden bugfix sowie eine Möglichkeit in der config anzugeben, dass es sich bei einer unbekannten Komponente um ein Control handelt (wenn kein rtti möglich ist).

//edit bugfix:
Zugriffsverletzung beim Erstellen von unbekannten Komponenten
functions_u.pas:804:
Delphi-Quellcode:
  if assigned(cl) then
  begin
    if cl.InheritsFrom(TControl) then
      sl.AddStrings(ctlprop);
  end;
//edit: ich hab jetzt die löschregeln mit in den Optionen-Dialog integriert...
aktuelle version 0.2.0.6b

Frank

_frank_ 24. Sep 2006 19:54

Re: DFMEdit
 
Moin,
ich hab dfmedit mal in Zusammenhang mit Turbo-Delphi probiert und musste feststellen, das dort die Dropdownmenüs in der Toolbar nicht angezeigt wurden (vermutlich auch in weiteren delphi-Versionen).
Es hat sich herausgestellt, dass es am "falschen" PopupComponent lag (TToolbar statt TToolbutton)
http://www.delphipraxis.net/internal...ct.php?t=52550 hat mir da weitergeholfen (auch wenn man dazu unit CommCtrl einbinden muss, wo ich ne ganze weile dran gerätselt habe)
die geänderte Version hab ich auf die beta-seite hochgeladen. (weitere Kompilierinfos in Readme.txt).
Ich hab eauch herausgefunden, warum sich dfmedit bei Formularen aus Binärdateien manchmal aufhängt. Nach meinen bisherigen Recherchen liegt es an Fließkomma-eigenschaften, die scheinbar die Grenzen von 32-Bit-Integern überschreiten. leider ist mir außer dem Neukompilieren mit einer neueren Delphi-Version kein workaround bekannt.

Es würde mich freuen, wenn sich noch Beta-Tester finden würden.

Gruß Frank

_frank_ 29. Sep 2006 21:16

Re: DFMEdit
 
hab mal noch vorhandene Memory-Leaks gefixt ;) *push*

Gruß Frank

_frank_ 8. Okt 2006 22:26

Re: DFMEdit
 
ich hab mal unter Versionsnummer 0.2.0.9 die RC1 für die 0.3 hochgeladen.

Es wird vor der 0.3 nur noch bugfixes geben ( also testen testen testen ;) ) .
Neu sind u.a. eine automatische positionsanpassung beim einfügen in der Vorschau (wenn durch einfügen die Komponente im neuen Parent nicht mehr sichtbar ist), eine Klassenersetzung (z.B. TNT-Controls im Preview durch die Standard-Komponenten darzustellen), eine löschliste für eigenschaften die mit der Ersetzung nicht mehr kompatibel sind, ein Bug beim bringtofront/sendtoback im Preview.

Hoffe, es finden sich noch Tester...

Gruß Frank

_frank_ 19. Okt 2006 14:58

Re: DFMEdit
 
hab mal einiges umgebaut (u.a. gibt es jetzt die Möglichkeit Pas-Dateien nach dem Erstellen/Ändern gleich zu öffnen).

RC2 = 0.2.0.10b

Schon jemand Bugs (in der RC1) gefunden?

Gruß Frank

_frank_ 17. Jan 2007 17:12

Re: DFMEdit
 
ich wollte mal nachfragen, ob schon bugs in der rc2 (0.2.0.10b) gefunden wurden, da ich diese jetzt als Stable hochladen will...

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Seite 9 von 10   « Erste     789 10      

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