![]() |
Record im Objekt
Hallo Leute,
ich versuche nun, mich mit den Themen Records und Klassen vertraut zu machen, hab aber einige Anfangsschwierigkeiten. Also, ich möchte eine Klasse "Kundendaten" erstellen. Diese Klasse soll über einen Record namens "Kunde" verfügen. Und mit folgendem Code:
Delphi-Quellcode:
bekomme ich eine Fehlermeldung, und zwar in der Zeile
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, ZQuery, ZMySqlQuery, ZTransact, ZMySqlTr, ZConnect, ZMySqlCon; type TKunde = record kundennummer: string; end; TForm1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; ds1: TDataSource; db1: TZZMySqlDatabase; tr1: TZZMySqlTransact; query1: TZZMySqlQuery; procedure FormShow(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; TKundendaten = class(TObject) kunde1 : TKunde; procedure Kundesuchen; end; var Form1: TForm1; Kundendaten: TKundendaten; implementation {$R *.DFM} procedure TKundendaten.Kundesuchen; begin Form1.query1.sql.text:= 'SELECT * FROM kundendaten'; Form1.query1.Open; kunde1.kundennummer:= Form1.query1.fieldbyname('ID').AsString; end; procedure TForm1.FormShow(Sender: TObject); begin Kundendaten.Kundesuchen; end; end.
Delphi-Quellcode:
Wo denke ich falsch?
kunde1.kundennummer:= Form1.query1.fieldbyname('ID').AsString;
MfG davar |
Re: Record im Objekt
verrätst DU uns evtl. auch die Fehlermeldung?
Die Glaskugelsteuern sind mir einfach zu hoch. :wink: Gruß onlinekater |
Re: Record im Objekt
Zitat:
"Zugriffsverletzung bei Adresse ... in Modul 'Project1.exe Schreiben von Adresse ..." Als wäre hier eine Variable nicht definiert.. |
Re: Record im Objekt
Kannst Du mal versuchen aus:
Delphi-Quellcode:
diese zu machen:
type
TKunde = record kundennummer: string; end;
Delphi-Quellcode:
Grüße
type
TKunde = record kundennummer: string[255]; end; Klaus |
Re: Record im Objekt
Nein, das ändert auch nichts. Gleiche Fehlermeldung.
|
Re: Record im Objekt
Meine Prognose: Das Record ist gesund, aber die Instanz zeigt auf einen Haufen Altpapier...
ein KundenDaten := TKundenDaten.Create(...) sollte helfen ;) PS: Zitat:
greetz Mike |
Re: Record im Objekt
es sieht auch so aus als ob du die Kundenklasse nie instantiiert hättest.
|
Re: Record im Objekt
Zitat:
Gruß Hawkeye |
Re: Record im Objekt
Zitat:
greetz Mike |
Re: Record im Objekt
Delphi-Quellcode:
ich bin da nich so fit mit SQL Querys, aber
procedure TKundendaten.Kundesuchen;
begin Form1.query1.sql.text:= 'SELECT * FROM kundendaten'; Form1.query1.Open; kunde1.kundennummer:= Form1.query1.fieldbyname('ID').AsString; end; wenn ich Select * from kundendaten mache kommt da nicht mehr als ein String zurück? Kannst Du mal testhalber das Ergebnis von Form1.query1.fieldbyname('ID').AsString als Message oder in ein Memofeld ausgeben? Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz