AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten-Fehler

Ein Thema von tomkupitz · begonnen am 6. Feb 2019 · letzter Beitrag vom 7. Feb 2019
Antwort Antwort
tomkupitz

Registriert seit: 26. Jan 2011
320 Beiträge
 
Delphi 11 Alexandria
 
#1

Komponenten-Fehler

  Alt 6. Feb 2019, 12:29
Hallo,

ich habe folgende Komp.:

Code:
unit DemoManager;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TDemoManager = class(TComponent)
  private
    FStrings: TStrings;

    procedure SetStrings(Value: TStrings);
  protected

  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

  published
    property Strings: TStrings read FStrings write SetStrings stored False;
  end;

implementation

constructor TDemoManager.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  FStrings:=TStringList.Create;
end;

destructor TDemoManager.Destroy;
var i: Integer;

begin
  for i:=0 to FStrings.Count-1 do
    if FStrings.Objects[i]<>nil then
      FStrings.Objects[i].Free;

  FStrings.Free;

  inherited Destroy;
end;

procedure TDemoManager.SetStrings(Value: TStrings);
begin
  if csDesigning in ComponentState then
    FStrings.Assign(Value);
end;

end.
und

Code:
unit DesignDemoManager;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DesignIntf, DesignEditors,
  DemoManager;

type
  TDemoEditor = class(TPropertyEditor)
  public
    FStrings: TStrings;
   
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
    function GetValue: string; override;
    function GetName: string; override;
  end;

procedure Register;

implementation

procedure TDemoEditor.Edit;
begin
  ShowMessage('OK');
end;

function TDemoEditor.GetAttributes: TPropertyAttributes;
begin
  result := [paDialog, paReadOnly];
end;

function TDemoEditor.GetValue: string;
begin
  result := '[DemoEditor]';
end;

function TDemoEditor.GetName: string;
begin
  result := 'Editor';
end;

//

procedure Register;
begin
  RegisterComponents('New', [TDemoManager]);
  RegisterPropertyEditor(TypeInfo(TStrings), TDemoManager, 'Strings', TDemoEditor);
end;

end.
Diese Komp. habe ich so installiert: siehe Abb. 2.jpg

Das Installieren funktioniert noch. Wenn ich aber DesignComponents.bpl erzeuge erhalte ich die Meldung: siehe Abb. 1.jpg

Woran liegt das und was kann/muss ich tun?

Danke und beste Grüße
Miniaturansicht angehängter Grafiken
2.jpg   1.jpg  
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Komponenten-Fehler

  Alt 6. Feb 2019, 12:32
Hallo,
was passiert, wenn du den TDemoManager in seiner eigenen Unit registrierst
und wie sieht Deine DesignComponents.bpl aus?
Heiko
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
320 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Komponenten-Fehler

  Alt 6. Feb 2019, 13:15
Zitat:
was passiert, wenn du den TDemoManager in seiner eigenen Unit registrierst
ändert sich nichts.

Zitat:
und wie sieht Deine DesignComponents.bpl aus?
Was meinst du damit? (nur diese eine Komp., ansonsten default Package)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
481 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Komponenten-Fehler

  Alt 6. Feb 2019, 13:28
Das kommt häufiger mal, wenn deine installierte/verwendete BPL nicht die selbe ist, die du kompiliert hast.
Schaue mal in den installierten Packages bzw den Laufzeit-Packages, ob das dort verwendete BPL auch genau das ist, was du zum Debuggen/Kompilieren benutzt.
Dennis
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
320 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Komponenten-Fehler

  Alt 6. Feb 2019, 14:16
DesignComponents.bpl gibt es genau zwei mal. Einmal für Delphi10Seattle (hier liegt das Problem) und einmal Delphi10.3Rio.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Komponenten-Fehler

  Alt 6. Feb 2019, 16:22
Hallo,
ich meinte, welche Units in der dpr drinstehen, die beiden oder nur eine davon.
Es sieht ja so aus, als ob der Linker was rausgeschmissen hat.
Heiko
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
320 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Komponenten-Fehler

  Alt 6. Feb 2019, 17:55
In der DesignComponents.bpl ist nur DesignComponents.pas vorhanden. Das ist alles.

Gedankenspiel:


Die DesignComponents.bpl gibt es genau zweimal, unter

C:\Users\Public\Documents\Embarcadero\Studio\17.0\ Bpl\

und

C:\Users\Public\Documents\Embarcadero\Studio\20.0\ Bpl\

Konflikte zw. Seattle und Rio können das nicht sein?
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
320 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Komponenten-Fehler

  Alt 7. Feb 2019, 15:47
Ich habe festgestellt, dass es sich um einen Seattle Rio Konflikt handelt. In beiden IDE’s gibt es jew. die Components.bpl und DesignComponents.bpl. Seattle greift definitiv auf die Rio bpl‘s zu. Benenne ich die Rio bpl‘s um, benutzt Seattle seine eigenen bpl's und es funktioniert immer. Das scheint ein Pfadproblem der IDE’s zu sein.

Lösung: Ich werde die bpl‘s nun mit der jew. Versionskennung (Seattle und Rio) versehen und hoffe, das dass Problem dann gelöst ist.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 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