|
| Hvorfor kan compileren ikke finde variable Fra : Kurt Guldbæk |
Dato : 22-07-03 22:30 |
|
Hej NG!
Jeg har efterhånden mange gange været ude for, at compileren melder følgende
fejl:
[Error] MAIN.pas(294): Undeclared identifier: 'EjendomImage'
Det sker typisk i følgende tilfælde:
Jeg har en procedure, der fungerer. Da noget af den skal bruges flere steder
laver jeg selv en ny procedure med et nyt navn og kopierer programstumpen
derover for at anvende den generelt.
Nu melder compileren [Error] MAIN.pas(294): Undeclared identifier:
'EjendomImage'
EKS:
Under Uses i toppen er bl.a. følgende erklæring
EjendomImage : TImage;
og senere følgende procedure:
//------------------------------------------------------------------
procedure TEjendomsForm.dbgBillederEjendomDblClick(Sender: TObject);
Var
F : TextFile;
S, BilledNavn, BilledExt : String;
FilFormat, ScreenFormat : Real; // Bredde/Hojde i fil og på skærm
begin
If EditMode Then
Begin
If OpenPictureDialog.Execute Then
Begin
BilledNavn :=
AnsiLowerCase(ExtractFileName(OpenPictureDialog.FileName));
BilledExt := AnsiLowerCase(ExtractFileExt(BilledNavn));
If (BilledExt = '.jpg') Or (BilledExt = '.bmp') Then
Begin
EjendomBilledFilNavn := ProgDir+'\Billeder\'+BilledNavn;
tbEjendomsBilleder.Open;
if not (tbEjendomsBilleder.State in [dsEdit]) then
tbEjendomsBilleder.Edit;
tbEjendomsBilleder.FieldByName('Filnavn').Text := BilledNavn;
tbEjendomsBilleder.Post;
.
.
// Reset til default
EjendomImage.Height := StartEjendomBilledHojde;<----- Fejler IKKE
her
.
.
.....................................
Derefter laver jeg:
//------------------------------------------------------------------
procedure FormatterEjendomBillede;
Begin
// Reset til default
EjendomImage.Height := StartEjendomBilledHojde; <----- Fejler her
EjendomImage.Width := StartEjendomBilledBredde;
EjendomImage.Left := StartEjendomBilledVenstre;
EjendomImage.Top := StartEjendomBilledTop;
.
.
End;
Hvad gør jeg forkert?
Mvh Kurt Gulkdbæk
| |
Ib Jakobsen (22-07-2003)
| Kommentar Fra : Ib Jakobsen |
Dato : 22-07-03 22:39 |
|
"Kurt Guldbæk" wrote:
>
>
> Hvad gør jeg forkert?
Er det ikke fordi det er en lokal variabel?. Knyttet til den første procedure.
--
Med venlig hilsen
Ib Jakobsen
| |
Kurt Guldbæk (23-07-2003)
| Kommentar Fra : Kurt Guldbæk |
Dato : 23-07-03 09:14 |
|
Hej Ib!
Det forstår jeg ikke rigtigt. Kan en egenskab være lokal, når den 'hænger'
på en komponent, som er erklæret under 'type'?
Der er ikke noget i vejen for at bruge egenskaberne i andre procedurer, bare
D5 selv får lov at lave erklæringen ved at jeg trykker på en EVENT.
Hvad skal jeg da gøre for at egenskaberne kan ses fra mine egne procedurer?
Mvh Kurt Guldbæk
"Ib Jakobsen" <senator@post.tele.dk> wrote in message
news:3F1DAF0D.5EFF630F@post.tele.dk...
> "Kurt Guldbæk" wrote:
> >
> > Hvad gør jeg forkert?
>
> Er det ikke fordi det er en lokal variabel?. Knyttet til den første
procedure.
> --
> Med venlig hilsen
>
> Ib Jakobsen
| |
Uffe Kousgaard (23-07-2003)
| Kommentar Fra : Uffe Kousgaard |
Dato : 23-07-03 11:06 |
|
"Kurt Guldbæk" <kurt@guldbaek.net> wrote in message
news:3f1e5969$0$48908$edfadb0f@dtext02.news.tele.dk...
>
> Hvad skal jeg da gøre for at egenskaberne kan ses fra mine egne
procedurer?
Du skal erklære din procedure under f.eks. private sektionen i
forbindelse med TEjendomsForm = class(TForm)
Derefter skal der stå følgende i implementeringsdelen:
procedure TEjendomsForm.FormatterEjendomBillede
Hilsen
Uffe
| |
Kurt Guldbæk (23-07-2003)
| Kommentar Fra : Kurt Guldbæk |
Dato : 23-07-03 22:31 |
|
Tak, Uffe, det vil jeg prøve om jeg kan få til at virke.
Mvh Kurt
"Uffe Kousgaard" <uffe@routeware.dk> skrev i en meddelelse
news:3f1e5e0f$0$83060$edfadb0f@dtext01.news.tele.dk...
> "Kurt Guldbæk" <kurt@guldbaek.net> wrote in message
> news:3f1e5969$0$48908$edfadb0f@dtext02.news.tele.dk...
> >
> > Hvad skal jeg da gøre for at egenskaberne kan ses fra mine egne
> procedurer?
>
> Du skal erklære din procedure under f.eks. private sektionen i
> forbindelse med TEjendomsForm = class(TForm)
>
> Derefter skal der stå følgende i implementeringsdelen:
> procedure TEjendomsForm.FormatterEjendomBillede
>
> Hilsen
> Uffe
>
| |
|
|