Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TIntegerProperty in welcher Unit? (https://www.delphipraxis.net/49859-tintegerproperty-welcher-unit.html)

Traudix 17. Jul 2005 09:15


TIntegerProperty in welcher Unit?
 
Hallo!

Bin grad dabei paar Komponenten zu installieren, einige davon für Delphi 6 geschrieben. Hab aber Delphi 7 (PE). Und nun meckert der Compiler rum, wegen nicht gefundener TIntegerProperty.

In welcher Unit sind die Property-Editoren codiert. Die DesgnIntf gibt es in Delphi 7 nicht mehr.

Danke im Voraus für Eure Hilfe

Traudix

SirThornberry 17. Jul 2005 09:20

Re: TIntegerProperty in welcher Unit?
 
die DesgnIntf gibt es in Delphi7 schon noch. Allerdings musst du Design und Runtimepackages trennen.
Du darfst also die DesignInt nur in Units verwenden die zur Designtime verwendet werden und nicht später in das Projekt kompiliert werden.
Wenn du also ein Exe-Projekt erstellst und darin diese Unit verwendest kommt die Fehlermeldung das diese Unit nicht gefunden wurde. Lagerst du allerdings deinen Property-Editor in eine Extra-Unit aus welche nicht im Exe-Projekt gelinkt ist sondern nur im Package dann kommt diese Fehlermeldung nicht.

im Übrigen ist "TIntegerProperty" in der Unit "DesignEditors" definiert.

Traudix 17. Jul 2005 20:14

Re: TIntegerProperty in welcher Unit?
 
Hallo Sir Thornberry!

Erst mal Danke für Deine Antwort. Problem leider noch nicht gelöst. Die Fehlermeldung tritt bereits beim Übersetzen des Packages auf, obwohl im Package die Option $Designonly gesetzt ist.

Hier sind die anderen Einstellungen:

Delphi-Quellcode:
package WdosXControl70;

{$R *.RES}
{$R 'WDosControl.dcr'}
{$ALIGN ON}
{$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 ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST ON}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'WDosX Delphi Control Components'}
{$DESIGNONLY}              //also nach meiner Meinung ein Designpackage
{$IMPLICITBUILD OFF}
{$DEFINE DESIGNPACKAGE}

requires
  vcl,
  WdosXCommon70;

contains
  WDosControl in 'WDosControl.pas',
  WDosPlcUtils in '..\..\..\Source\WDosX\WDosPlcUtils.pas',
  WDosPlcs in '..\..\..\Source\WDosX\WDosPlcs.pas',
  WDosLptInOuts in '..\..\..\Source\WDosX\WDosLptInOuts.pas';

end.
In WDosControl gibt es eine Klassendfinitionen

Delphi-Quellcode:
uses ..., ..., dsgnIntf, ..., ...;

type
  TBitAddrProperty = class (TIntegerProperty)
  public
    function GetValue: string; override;
    procedure SetValue(const Value: string); override;
  end;

  TByteAddrProperty = class (TIntegerProperty)
  public
    function GetValue: string; override;
    procedure SetValue(const Value: string); override;
  end;
Und die TIntegerProperty akzeptiert der Compiler nicht. Warum nicht? Bin ratlos. Habe noch mehr Kompos zu installieren, (die anderen für Windows Programmierung), aber einige sind für Delphi 6 geschrieben und machen deiselben Schwierigkeiten. Gibt es ein Work-Around?

Zitat:

die DesgnIntf gibt es in Delphi7 schon noch.

Allerdings musst du Design und Runtimepackages trennen.
Du darfst also die DesignInt nur in Units verwenden die zur Designtime verwendet werden und nicht später in das Projekt kompiliert werden.
Das mit der Trennung von Design und Runtimepackages hab ich verstanden. Aber mein Package ist doch im aktuellen Fall schon ein Designpackage. Was läuft hir noch falsch?

Traudix

SirThornberry 17. Jul 2005 21:08

Re: TIntegerProperty in welcher Unit?
 
eventuell hast du es ja im letzten post überlesen - TIntegerProperty befindet sich in der Unit "DesignEditors"

Traudix 18. Jul 2005 15:27

Re: TIntegerProperty in welcher Unit?
 
Hallo Sir Thornberry!

Zitat:

Zitat von Sir Thornberry
eventuell hast du es ja im letzten post überlesen - ...

Danke, genau so war es. Jetzt funzt alles.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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