Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism Error 2065 bei procedure deklaration (https://www.delphipraxis.net/62463-error-2065-bei-procedure-deklaration.html)

wikingersven 5. Feb 2006 02:38


Error 2065 bei procedure deklaration
 
so langsam kreig ich die Kretze... was ist hier Falsch:

Delphi-Quellcode:
 type
  User = class(System.Windows.Forms.Form)
   procedure nextrecord(sender: System.Object; e: System.EventArgs);
  {$REGION 'Vom Designer verwalteter Code'}
  strict private
Die eigentliche Procedure ist unterhalb des konstruktors und beinhaltet einen DB-Zugriff.

2 Punkte die mich richtig auf die Palme bringen:

1. ich kann auf ein im WinForm initialisiertes Objekt (Datagrid) nicht über self oder andere möglichkeit zugreifen um die Datasource festzulegen

2. ich kann die procedure nicht mit beliebigen Parametern erweitern, weil ich sonst im
Delphi-Quellcode:
procedure User.User_Load(sender: System.Object; e: System.EventArgs);
begin
     ds := dataset.Create;
     ds2 := dataset.Create;

     get_dataset(ds, 'Select * from tbl_sysuser', da, conn, 'User');

     datagrid1.DataSource := ds.Tables.Item['User'];

     include(self.BindingContext[ds,'User'].PositionChanged, NextRecord);
     nextrecord(nil, nil);


end;
eine weitere Fehlermeldung bekomme...

hier noch die eigentliche procedure:
Delphi-Quellcode:
procedure nextrecord(sender: System.Object; e: System.EventArgs);
var pos: integer;
    row: datarow;
    connStr: System.string;
    val: sqlparameter;

begin
    pos := user.ActiveForm.Controls.Item[0].BindingContext[ds, 'User'].Position;
    // .datagrid1.BindingContext[ds,'User'].Position;
    row := ds.Tables['User'].Rows[pos];
    if row.Item[0].ToString <> '' then
    begin
      get_dataset(ds2,'Select * from tbl_sysusermember where fld_user =' + row.Item[0].ToString,da2,conn, 'Member');
    end;

end;
ein Tribut an die Uhrzeit ;-)

Sven

Elvis 5. Feb 2006 02:54

Re: Error 2065 bei procedure deklaration
 
NestRecord ist eine globale Funktion. wie zum Geier soll denn der code funktionieren, außer natürlich du hast ds, user & Konsorten als globale Variablen angelegt? :kotz:

wikingersven 5. Feb 2006 09:02

Re: Error 2065 bei procedure deklaration
 
Moin.... sowas hab ich mir auch schon gedacht, aber:

ich kann die procedure weder da wo sie im Beispiel steht deklarieren, noch in einem anderen Sichtbarkeitsbereich. Es kommt IMMER diese Fehlermeldung:
Delphi-Quellcode:
[Fehler] mgds_benutzer.pas(46): E2065 Ungenügende Forward- oder External-Deklaration: 'User.nextrecord'
ich weiss, dass ich da was verkehrt mache, aber was?

Delphi-Quellcode:
  public
    constructor Create;
    procedure nextrecord(sender: System.Object; e: System.EventArgs);
  end;

Die Muhkuh 5. Feb 2006 09:26

Re: Error 2065 bei procedure deklaration
 
Es muss dann

Delphi-Quellcode:
procedure User.NextRecord(<Params>)
begin
  // Bla
end;
heißen ;)

wikingersven 5. Feb 2006 09:38

Re: Error 2065 bei procedure deklaration
 
Danke ;-) ... jetzt kann ich schlafen gehen :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 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