03. april 2015 - 01:19
Der er
3 kommentarer
Procedure som laver actions?
Hej alle jeg er gået helt kold på det her procedure i Delphi, måske der er noget helt grundliggende som jeg har misforstået. jeg vil kalde en procedure som gør følgende: ------------------------------------- button1.enabled := true; DataModule1.ADOTable1.Open; button1.Enabled := false; button3.Enabled := true; button4.Enabled := true; label1.Visible := false; edit1.Visible := false; button7.Visible := false; image2.Visible := true; -------------------------------------- procedure gogreen; begin button1.enabled := true; DataModule1.ADOTable1.Open; button1.Enabled := false; button3.Enabled := true; button4.Enabled := true; label1.Visible := false; edit1.Visible := false; button7.Visible := false; image2.Visible := true; end; Men delphi brokker sig over at button osv ikke er declared. det forvirrer mig totalt, de er jo declared længere oppe i koden. -------------------------------- type TForm2 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Button1: TButton; Image1: TImage; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Label1: TLabel; Button6: TButton; Edit1: TEdit; Button7: TButton; Image2: TImage; procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; Er der noget jeg roder helt rundt i ?
Annonceindlæg fra Computerworld it-jobbank
03. april 2015 - 01:53
#1
Din gogreen procedure aner ingenting om Form2 og de komponenter og metoder som er i denne. Hvis du skal referere til komponenter i en procedure, som ikke er erklæret i din form, så skal du bruge. Form2.button1.enabled := true; Du kan også bruge With Eks. procedure gogreen; begin With Form2 do begin button1.enabled := true; DataModule1.ADOTable1.Open; button1.Enabled := false; button3.Enabled := true; button4.Enabled := true; label1.Visible := false; edit1.Visible := false; button7.Visible := false; image2.Visible := true; end end;
03. april 2015 - 02:11
#2
1000 tak, det giver fint mening - hvor kan man dog stirre sig blind når man sidder for længe med det i de sene timer. igen mange mange tak for hjælpen :-)
03. april 2015 - 07:38
#3
Men det du burde gøre er måske at erklære den i din form som kgkg skriver: procedure TForm2.gogreen; begin button1.enabled := true; DataModule1.ADOTable1.Open; button1.Enabled := false; button3.Enabled := true; button4.Enabled := true; label1.Visible := false; edit1.Visible := false; button7.Visible := false; image2.Visible := true; end; -------------------------------- type TForm2 = class(TForm) DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Button1: TButton; Image1: TImage; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Label1: TLabel; Button6: TButton; Edit1: TEdit; Button7: TButton; Image2: TImage; procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure gogreen; //Bemærk her end;