anoniem Geplaatst: 26 juli 2005 Delen Geplaatst: 26 juli 2005 Ik ben met een les uit een boek bezig dat geschreven is voor Delphi 6 maar ik werk met Delphi 7, ik probeer de onderstaande Unit te compileren maar krijg daarbij steeds de volgende foutmeldingen: "Field Form1.verzendBtn does not have a corresponding component" en "field Form1.wisBtn does not have a coresponding component". Het grootste deel van de Unit doet het wel maar na de toevoeging van deze procedures gaat het fout. Hier de Init: ======================== unit invFormUn1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) aNaamLabel: TLabel; aNaamEdit: TEdit; eMailLabel: TLabel; eMailEdit: TEdit; wWoordLabel: TLabel; wWoordEdit: TEdit; vNaamLabel: TLabel; vNaamEdit: TEdit; gNaamLabel: TLabel; gNaamEdit: TEdit; verzendBtn: TButton; WisBtn: TButton; procedure FormCreate(Sender: TObject); procedure verzendBtnClick(Sender: TObject); procedure WisBtnClick(Sender: TObject); private { Private declarations } function InvoerOK: Boolean; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i:=0 to ComponentCount -1 do if Components[i] is TEdit then TEdit(Components[i]).Clear; end; function TForm1.InvoerOK: Boolean; var i: Integer; begin Result := False; for i:= 0 to ComponentCount - 1 do if Components[i] is TEdit then if TEdit(Components[i]).Text = '' then begin ShowMessage('Niet alle gegevens zijn ingevuld'); Exit; end; Result := True; end; procedure TForm1.verzendBtnClick(Sender: TObject); begin if InvoerOK then showMessage('Uw gegevens worden verzonden'); end; procedure TForm1.WisBtnClick(Sender: TObject); begin FormCreate(nil); end; end. ================= Zit het probleem in het verschil tussen Delphi 6 en Delphi 7 Quote Link naar reactie
anoniem Geplaatst: 26 juli 2005 Auteur Delen Geplaatst: 26 juli 2005 Gokje... Helemaal niet getest ofzo .... [code:1:6b51cc483c] unit invFormUn1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) aNaamLabel: TLabel; aNaamEdit: TEdit; eMailLabel: TLabel; eMailEdit: TEdit; wWoordLabel: TLabel; wWoordEdit: TEdit; vNaamLabel: TLabel; vNaamEdit: TEdit; gNaamLabel: TLabel; gNaamEdit: TEdit; verzendBtn: TButton; WisBtn: TButton; private <-------------- { Private declarations } procedure FormCreate(Sender: TObject); procedure verzendBtnClick(Sender: TObject); procedure WisBtnClick(Sender: TObject); function InvoerOK: Boolean; public { Public declarations } end; .... [/code:1:6b51cc483c] [quote:6b51cc483c] Zit het probleem in het verschil tussen Delphi 6 en Delphi 7[/quote:6b51cc483c] Dat denk ik niet. Quote Link naar reactie
anoniem Geplaatst: 27 juli 2005 Auteur Delen Geplaatst: 27 juli 2005 Ik heb een fout gemaakt in het ontwerpformulier waar ik nu niet uitkom, ik ga voorlopig even verder en pak het later nog eens op. Bedankt voor de info. Quote Link naar reactie
anoniem Geplaatst: 27 juli 2005 Auteur Delen Geplaatst: 27 juli 2005 Hoe heb je deze code helemaal met de hand letter voor letter ingetypt ? Dan is de verklaring simpel : je hebt geen 'verzendBtn' op het form gezet ... Die foutmelding krijg je namelijk als je zelf gaat rommelen met de items op een form ipv dit aan Delphi over te laten. In het vervolg dus niet rommelen aan de items die voor het 'private'-keyword in units voor forms staan. Daar komen hele vreemde en ellendige fouten van. Je had alleen de regel [code:1:a217ed77a7] function InvoerOK: Boolean; [/code:1:a217ed77a7] toe hoeven voegen. En natuurlijk de inhoud die bij die ene functie hoort (maar dat spreekt hopelijk voor zich). De rest doe je door in de IDE de verschillende items op het form te plaatsen om dan vervolgens de events aan de onderdelen te knopen. Quote Link naar reactie
anoniem Geplaatst: 30 juli 2005 Auteur Delen Geplaatst: 30 juli 2005 Klopt, ik had geen verzendBtn op het form gezet, ik heb het programma werkend gekregen tot aan de toevoeging van twee nieuwe buttons, dat heb ik wel in de unit aangepast maar niet in de form en dat was helemaal fout. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen