/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Lave en component!
Fra : Monie Jacobsen


Dato : 05-07-02 13:56

Hej Du som læser dette!

Har du en forklaring på hvad der er galt med denne Unit QMinedit,
som jeg forsøger, at compile til en component.
Jeg prøver blot, at lære, at lave en component!
Bruger Delphi ver. 6.

unit QMinedit;

interface

uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls;

type
TMinedit = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TMinedit]);
end;

constructor TMinEdit.Create(AOwner: TComponent);
begin
Edit1.Height:= 25;
Edit1.Width:= 100;
Edit1.Color:=clBlue;
Font.Color:=clWhite;
Font.Name:='Times New Roman';
Font.Size:=12;
Font.Style:=[fsBold];
end;

end. {End}

Følgende fejl fremkommer:

[Error]QMinedit.pas[33];Undeclared identifier: 'Edit'
[Error]QMinedit.pas[34];Missing operation or semicolon
[Error]QMinedit.pas[35];Missing operation or semicolon
[Error]QMinedit.pas[36];Undeclared identifier:'fsWhite'
[Error]QMinedit.pas[39];Undeclared identifier:'fsBold'
[Fatal Error]dclusr.dpk[33]: Could not compile used unit
'EgneComp\QMinedit.pas'

På forhånden mange tak!
Med venlig hilsen.
Monie Jacobsen
E-mail: monie@tdcadsl.dk






 
 
Juno (05-07-2002)
Kommentar
Fra : Juno


Dato : 05-07-02 14:14

"Monie Jacobsen" <monie@tdcadsl.dk> skrev i en meddelelse
news:3d259756$0$41353$edfadb0f@dspool01.news.tele.dk
> Hej Du som læser dette!
>
> Har du en forklaring på hvad der er galt med denne Unit QMinedit,
> som jeg forsøger, at compile til en component.
> Jeg prøver blot, at lære, at lave en component!
> Bruger Delphi ver. 6.

<snip>
> constructor TMinEdit.Create(AOwner: TComponent);
> begin
> Edit1.Height:= 25;
> Edit1.Width:= 100;
> Edit1.Color:=clBlue;
> Font.Color:=clWhite;
> Font.Name:='Times New Roman';
> Font.Size:=12;
> Font.Style:=[fsBold];
> end;
Du skal altid som det første i en Create kalde
inherited Create(AOwner: TComponent);
(Du kan vist nok bare nøjes med ordet inherited;)

Laver du på et tidspunkt noget der kræver en Destroy, skal du kalde
inherited Destroy( blah blah)
som det sidste.

Edit1 refererer til noget Delphi ikke kan finde i din Unit.
Da det er den komponent du er i gang med (TMinEdit) der skal have
værdierne, kan du bruge "self". Du behøver ikke, (du kan helt undlade at
skrive noget), men det gør det mere klart, når man senere læser koden.
Self.Height := 25;
Self.Font.Name:='Times New Roman'; osv.

Self.Color tror jeg ikke du får noget ud af, da farven bliver hentet via
reg-databasen, og den værdi brugeren har sat som "farve på vindue",
bliver brugt.

Hvis du stadig får fejl, så skriv bare igen

--
*/*
jUno
spamfilter: Fjern din bh




Monie Jacobsen (06-07-2002)
Kommentar
Fra : Monie Jacobsen


Dato : 06-07-02 14:35

Hej Juno

Jeg kan stadig ikke få denne component til at virke! Kan du?

<START>
unit QMinedit;

interface

uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls;

type
TMinedit = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;

published
{ Published declarations }
end;
<Slut>

MHV

Monie Jacobsen





Monie Jacobsen (06-07-2002)
Kommentar
Fra : Monie Jacobsen


Dato : 06-07-02 14:40

Onskyld Juno!
Her følger så hele filen til componenten.

<Start>
unit QMinedit;

interface

uses
Windows, Messages, SysUtils, Classes, QControls, QStdCtrls;

type
TMinedit = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;

published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TMinedit]);
end;

constructor TMinEdit.Create(AOwner: TComponent);
begin
inherited;
Self.Height:= 25;
Self.Width:= 100;
Self.Font.Name:='Times New Roman';
Self.Font.Size:=12;
end;

end.
<Slut>

MVH

Monie Jacobsen



Asger Grunnet (06-07-2002)
Kommentar
Fra : Asger Grunnet


Dato : 06-07-02 16:44


Monie Jacobsen skrev:

> uses
> Windows, Messages, SysUtils, Classes, QControls, QStdCtrls;

Er det med vilje at du bruger CLX filerne (til Linux Kylix) istedet
for VCL filerne (til Windows Delphi) ?

Hvis du erstatter QControls og QStdCtrls med Controls og StdCtrls,
virker din komponent i Delphi.

Asger.



Monie Jacobsen (07-07-2002)
Kommentar
Fra : Monie Jacobsen


Dato : 07-07-02 09:00

Tak Asger.
Den component virker bare nu!
Jeg er blot veed at lære at lave dem.

Med venlig hilsen
Monie Jacobsen


"Asger Grunnet" <asger@adslhome.dk> skrev i en meddelelse
news:3d270ffd$0$13937$edfadb0f@dspool01.news.tele.dk...
>
> Monie Jacobsen skrev:
>
> > uses
> > Windows, Messages, SysUtils, Classes, QControls, QStdCtrls;
>
> Er det med vilje at du bruger CLX filerne (til Linux Kylix) istedet
> for VCL filerne (til Windows Delphi) ?
>
> Hvis du erstatter QControls og QStdCtrls med Controls og StdCtrls,
> virker din komponent i Delphi.
>
> Asger.
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste