Zitat von
Florian Bernd:
Achso ... du hast die Komponente registriert und danach die Klasse im Nachhinein verändert. In diesem Falle sollte es reichen, wenn du nur die Komponenten
Unit neu compilierst.
Das
Package musst du glaube ich nicht neu installieren. Wenn doch, dann musst du das
Package nochmal deinstallieren und nach der Änderung der
Unit neu installieren.
Florian
Sorry wir reden aneinander vorbei !
Oder ich drücke mich schlecht aus.
Es ist wie folgt.
Es gibt eine
Package XiControls
In dieser sind 4 Units enthalten.
XiButton.pas, XiPanel.pas, XiProgressBar.pas, XiTrackBar.pas.
Die Registrations
Unit ist XiControls.pas
In der steht!
Delphi-Quellcode:
unit XiControls;
interface
uses
Classes, XiButton, XiProgressBar, XiPanel, XiTrackBar;
implementation
{$R XiControls.res}
procedure Register;
begin
RegisterComponents('
XiControls', [TXiPanel, TXiTrackBar, TXiProgressBar, TXiButton]);
end;
end.
dann gibt es die
Package DSPack
Hier ist eigentlich nur die DSPack.pas interessant diese wurde geändert und zwar wie schon erwähnt
TDSTrackBar = class(TTrackBar ... in TDSTrackBar = class(TXiTrackBar ...
Das ist alles.
Das Pack wird über den DSEditors.pas Registriert
Dort steht, das wichtigste!
Delphi-Quellcode:
procedure Register;
begin
RegisterComponents('DSPack', [TFilterGraph, TVideoWindow, TSampleGrabber,
TFilter, TASFWriter, TDSTrackBar, TDSVideoWindowEx2]);
RegisterPropertyEditor(TypeInfo(TMediaType), nil, '', TMediaTypePropertyClass);
RegisterPropertyEditor(TypeInfo(TBaseFilter), nil, '', TBaseFilterPropertyClass);
end;
Hier wird die TDSTrackBar Registriert.
Wenn ich nun das DSPack installiere funktioniert das auch.
Lasse ich aber die Anwendung laufen kommt die Fehlermeldung das die Komponente TXiTrackBar schon registriert
ist und sich im Pack XiControls befindet.
Seltsamer weise funktioniert das in d7 in d2006 funktioniert es nicht.
gruß
EDIT: Der User hat einen Skin.
Standardmäßig wird die TTrackbar position vom DSPack ausgegeben wenn ein Video spielt.
Er will aber die TrackBar vom XI Pack verwenden wegen seinen Skin.
Deshalb hat er das ganze Teil umgestrickt damit die position der TTrackBar nun auf der vom XI Pack
umgeleitet wird.