Ga naar inhoud

Waarom loopt deze unit niet in Delphi 7


Aanbevolen berichten

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
Link naar reactie
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.
Link naar reactie
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.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...