Autor Beitrag
Fronsac
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 18.12.05 17:01 
Ich habe mit delphi 7 angefangen.
Jetzt habe ich ein Problem:
Ich habe eine neue Komponente gemacht (runder button),
der aber leider nicht im Register "Zusätzlich" angezeigt wird und ich somit sie auch nicht auswählen kann. Mir ist nicht klar was falsch läuft, da ich eigentlich alles gemäß Kapitel Komponentensammlung (aus Buch: Deplphi für kids)gemacht habe.
Ich bitte euch um sachdienliche Hinweise
Vielen Dank
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 19.12.05 22:13 
Hast Du die Komponente auch installiert?

Wir bräuchten ein paar Infos mehr, was Du genau gemacht hast.
Fronsac Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 19.12.05 22:56 
Titel: was bis jetzt passiert ist
1) neue Komponente (Vorfahrtyp TCustom Controls), Klassenname TOButton, Palettenseite zusätzlich, Name Unit OButton.pas, bestätigen
2) Form gezeichnet, Eigenschaften festgelegt (beim klick soll sich die Farbe des Rands ändern), das klappt auch
3) dann Komponente, Komponente installieren, Name der Unit OButton.pas, Name des package ..\delphi\lib\dclusr.dpk, Beschreibung Borland Anwenderkomponenten, bestätigen
Jetzt sollte eigentlich die neue Komponente in der Komponentenliste zusätzlich sein, ist aber leider nicht da :-(
Das alles ist aus einem Kapitel "Komponentensammlung" im Buch s.o.
regards from germany
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Di 20.12.05 12:43 
Hast du auch eine Register-Prozedur, die die Komponente in der IDE registriert?

Sieht so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure Register;
begin
  RegisterComponents('Meine Komponenten', [TOButton]);
end;


Stefan

_________________
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
Fronsac Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 20.12.05 23:26 
Titel: unit button
Wenn ich es richtig sehe ist das enthalten
Ich mal alles kopiert:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
unit Obutton;

interface

uses
  SysUtils, Classes,graphics, Controls;

type
  TObutton = class(TCustomControl)
  private
    { Private-Deklarationen }
    pressed: boolean;
color: Tcolor;
  protected
    { Protected-Deklarationen }
    procedure paint; override;
    procedure mousedown(button:tmousebutton; shift:tshiftstate; x,y:integer);override;
    procedure mouseup (button: tmousebutton; shift:tshiftstate; x,y :integer);override;
  public
    { Public-Deklarationen }
    constructor create (Aowner: tcomponent) ; override ;
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation
const
OColor: Array[1..3] of tcolor =(clblack, clgray,clwhite);


procedure Register;
begin
  RegisterComponents('Zusätzlich', [TObutton]);
end;
constructor tobutton.create (AOwner: TComponent) ;
begin
inherited create (Aowner);
Color := clbtnface;
canvas.brush.color := color;
pressed:= false;
setBounds (0,0,50,50);
end;


 procedure  tobutton.paint;
 var i:integer;
 begin
 if pressed then for i := 1 to 3 do
 begin
 Canvas.pen.color := Ocolor[(i+1)div 2] ;
 canvas.arc (i,i,width-i, height-i,i,i,i,i);
 end
 else
 for i := 1 to 3 do
 begin
 Canvas.pen.color := ocolor[i];
 canvas.arc (i,i,width-i, height-i,i,i,i,i);
 end;
 canvas.ellipse (3,3,width-3, Height-3);
end;
procedure tobutton.mousedown(button: tmousebutton; Shift: tshiftstate; x,y:integer);
begin
inherited mousedown (button, shift,x,y);
if button = mbleft then
begin
Pressed:= true;
Paint;
end;
end;

procedure tobutton.mouseup (button: tmousebutton; shift:tshiftstate; x,y :integer);
begin
inherited Mouseup (button, shift,x,y);
pressed:= false;
paint;
end;

end.


Komme aber leider immer noch nicht weiter.

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 22.12.05 08:55 
Hast du anschl. die Komponente installiert?

Im Menü: "Komponente" -> "Komponente installieren" -> Ok

Lg Martin

_________________
Ein Nutzer der Ecke ;-)