Gå til innhold

Delphi - Procedures, hvordan gjenbruke kode?


Anbefalte innlegg

Er ganske fersk når det kommer til Delphi, og har derfor et lite spørsmål ang. procedures. Tenkte å lage en procedure som utførte en spes. ting for meg, så jeg slapp å bruke den samme koden flere ganger, men opplever at det ikke helt vil funke.. Her er et eksempel på hva som fungerer:

 

procedure TForm1.Refresh1Click(Sender: TObject);
begin

IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));

   XMLDoc.FileName := IniFile.ReadString('feed', 'url', '');
   XMLDoc.Active:=True;

   StartItemNode := XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
   ANode := StartItemNode;
   repeat
     sTitle := ANode.ChildNodes['title'].Text;
     sLink := ANode.ChildNodes['link'].Text;

     with LV.Items.Add do
     begin
       Caption := sTitle;
       Subitems.Add(sLink);
     end;


     ANode := ANode.NextSibling;
   until ANode = nil;
   DeleteFile(ADPLocalFile);

   Screen.Cursor:=crDefault;

   IniFile.Free;

end;

 

Dette fungerer helt problemfritt, men derimot hvis jeg bytter ut procedure TForm1.Refresh1Click(Sender: TObject); delen med noe annet som feks procedure Test(Sender: TObject); så kommer det mange mange mange røde streker.. Noen som kan fortelle meg hvorfor? De er jo i samme filen så jeg trodde ikke at dette ville funke fint jeg. Som sagt, veldig fersk :blush:

 

#Topic endret av moderator#

Endret av Jankee
Lenke til kommentar
Videoannonse
Annonse

Prøvde det også, men fortsatt får jeg en hel haug med feilmeldinger..

 

[Error] Main.pas(47): E2003 Undeclared identifier: 'FileName'

[Error] Main.pas(48): E2003 Undeclared identifier: 'Active'

[Error] Main.pas(50): E2003 Undeclared identifier: 'DocumentElement'

[Error] Main.pas(50): E2066 Missing operator or semicolon

[Error] Main.pas(50): E2066 Missing operator or semicolon

[Error] Main.pas(50): E2066 Missing operator or semicolon

[Error] Main.pas(56): E2003 Undeclared identifier: 'LV'

[Error] Main.pas(58): E2003 Undeclared identifier: 'Caption'

[Error] Main.pas(59): E2003 Undeclared identifier: 'Subitems'

[Error] Main.pas(23): E2065 Unsatisfied forward or external declaration: 'TForm1.RefreshFeed'

 

 

 

Får ikke noen av disse feilene hvis jeg lager en knapp på form1 og kopierer over koden dit, men med engang jeg lager en ny procedure og prøver koden der så popper alle disse feilmeldingene opp..

Lenke til kommentar
  • 3 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...