![]() |
Delphi-Version: 10 Seattle
Methodenaufruf nur für Klassenmethoden / Konstruktoren
Moin.
Folgendes Problem - ich nutze eine "class function" aus einer anderen Unit. Die Fehlermeldung ist "Diese Form des Methodenaufrufs ist nur für Klassenmethoden oder Konstruktoren zulässig".
Delphi-Quellcode:
constructor TUpdateLogTool.Create(AOwner: TComponent);
var iCounter : integer; lSQLData: TSQLTInhalt; begin inherited Create(AOwner); TDBSQLDaten.Create; lSQLData := TDBSQLDaten.GetSQLData; <---- Fehler cmbBoxFrom.Items.Add('6.0.0.0'); cmbBoxTo.Items.Add('7.0.0.0'); gridUpdateLog.Cells[PROJ_CHECKBOXES, 0] := ''; gridUpdateLog.Cells[PROJ_THEME, 0] := 'Thema'; gridUpdateLog.Cells[PROJ_CONTENT, 0] := 'Inhalt'; gridUpdateLog.ColWidths[PROJ_CHECKBOXES] := COLWIDTH_CHKBOXES; gridUpdateLog.ColWidths[PROJ_THEME] := COLWIDTH_THEME; gridUpdateLog.ColWidths[PROJ_CONTENT] := COLWIDTH_CONTENT; //gridUpdateLog.Cells[PROJ_THEME, 1] := 'Test-Thema'; gridUpdateLog.Cells[PROJ_CONTENT, 1] := 'Test-Inhalt'; for iCounter := 1 to gridUpdateLog.ColCount do AddCheckBox(PROJ_CHECKBOXES, 1); gridUpdateLog.Options := gridUpdateLog.Options + [goTabs]; ResizeGrid; end; |
AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren
Es wäre vielleicht interessant, wie das Interface dieser Methode aussieht
|
AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren
Beim UpdateLogTool so :
Delphi-Quellcode:
TUpdateLogTool = class(TFrame)
gridUpdateLog: TStringGrid; lblFromVersion: TLabel; lblToVersion: TLabel; cmbBoxFrom: TComboBox; cmbBoxTo: TComboBox; btnSave: TButton; procedure DrawCheckBoxInGrid(const pColumn, pRow: integer; Rect: TRect); procedure gridUpdateLogDrawCell(Sender: TObject; ACol, ARow: integer; Rect: TRect; State: TGridDrawState); procedure gridUpdateLogTopLeftChanged(Sender: TObject); procedure CheckboxMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer); function AddCheckBox(const pColumn, pRow: integer): TGridCheckbox; procedure ResizeGrid; private { Private-Deklarationen } public constructor Create(AOwner: TComponent); override; end; TDBSQLDaten so:
Delphi-Quellcode:
Und die "class function" sieht so aus:
type
TDBSQLDaten= class private public const TableName = 'TTProbleme'; function GetTProblemeData: TSQLTTProbleme; end;
Delphi-Quellcode:
function TDBProbleme.GetTProblemeData: TSQLTTProbleme; / -> GetSQLDaten = GetTProblemeData, hatte das beim kopieren in das Forum umbenannt zum bessern Verständnis
var lProblemeSQL : TSQLTTProbleme; begin lProblemeSQL := TSQLTTProbleme.Create; TRAGSynDBNexusDB.FillAndPrepareRecord(SynDBNexusDBRag.ConnectionProps, lProblemeSQL);//, [], '', []); Result := lProblemeSQL; end; |
AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren
Delphi-Quellcode:
?
class function TDBProbleme.GetTProblemeData: TSQLTTProbleme;
|
AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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