Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komponente registriert sich nicht (https://www.delphipraxis.net/68754-komponente-registriert-sich-nicht.html)

ichbins 4. Mai 2006 20:13


Komponente registriert sich nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, ich habe eben eine eigene Komponente geschrieben, die registriert sich aber nicht.

Meine Procedure register enthält korrekten Code (mit anderen Packages im Internet verglichen) und ist auch registriert. Hier mal ein Überblick über die Unit:

Delphi-Quellcode:
unit SortListView;

interface

uses
  ComCtrls, classes;

procedure register;

type
  TSortDirection = (sdUp, sdDown);

procedure Sort(const LV: TCustomListView; const Column: Integer;
  Direction: TSortDirection);

implementation

{$R SortListViewIcons.res}

uses
  Windows, CommCtrl,
  MWKSysUtils;

type
  TSortRec = record
    Column: Integer;
    Direction: TSortDirection;
  end;
  TSortListView = class (tlistview)
    private
      procedure ColClick(Column: TListColumn);override;
    public
  end;
  PSortRec = ^TSortRec;
 
procedure register;
begin
  registercomponents('Standard',[tsortlistview]);
end;

[...] //dieser Code bezieht sich auf die Komponente.

end.


Der Code im Package sieht wie folgt aus:

Delphi-Quellcode:
package SortlistViewPackage;

{$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 ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'Enthlt die Sortlistview'}
{$IMPLICITBUILD ON}

requires
  rtl,
  vcl;

contains
  MWKSysutils, //hier eingebunden, damit nicht die Fehlermeldung kommt dass "Die Unit MKWSysUtils impliziert eingebunden wurde"
  SortListView in 'SortListView.pas';

end.

im Anhang die komplette Kompo.

mkinzler 4. Mai 2006 20:25

Re: Komponente registriert sich nicht
 
1.) Die Deklaration der Klasse muß im Interface-Teil sein
2.) procedure muß Register heißen

Dann läßt es sich installieren.

ichbins 4. Mai 2006 20:34

Re: Komponente registriert sich nicht
 
Macht es wirklich einen Unterschied ob die gross oder klein geschrieben wird?


das mit dem Interface-Teil war mein Fehler :oops:


//edit: Danke, jetzt funzts! :thumb:

mkinzler 4. Mai 2006 20:36

Re: Komponente registriert sich nicht
 
Ich hatte mal das Problem, daß er es nicht erkannt hat, war aber schon länger her. habe mir angewühnt Register immer groß zu schreiben. Kann aber sein das es in der Zwischenzeit auch klein geht.

Hawkeye219 4. Mai 2006 20:41

Re: Komponente registriert sich nicht
 
Hallo,

Zitat:

Zitat von Marco Cantù
Die Prozedur Register in einer Komponentenbibliothek (Package) muss aus Gründen der Kompatibilität mit dem C++Builder mit einem großen R beginnen.

Den vollen Text gibt es hier.

Gruß Hawkeye


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