AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Methodenaufruf nur für Klassenmethoden / Konstruktoren
Thema durchsuchen
Ansicht
Themen-Optionen

Methodenaufruf nur für Klassenmethoden / Konstruktoren

Ein Thema von Freyr77 · begonnen am 12. Sep 2016 · letzter Beitrag vom 12. Sep 2016
Antwort Antwort
Freyr77
(Gast)

n/a Beiträge
 
#1

Methodenaufruf nur für Klassenmethoden / Konstruktoren

  Alt 12. Sep 2016, 08:09
Delphi-Version: 10 Seattle
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;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren

  Alt 12. Sep 2016, 08:14
Es wäre vielleicht interessant, wie das Interface dieser Methode aussieht
Markus Kinzler
  Mit Zitat antworten Zitat
Freyr77
(Gast)

n/a Beiträge
 
#3

AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren

  Alt 12. Sep 2016, 08:17
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:
type
  TDBSQLDaten= class
  private

  public
  const TableName = 'TTProbleme';

  function GetTProblemeData: TSQLTTProbleme;

  end;
Und die "class function" sieht so aus:

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;

Geändert von Freyr77 (12. Sep 2016 um 08:19 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren

  Alt 12. Sep 2016, 08:20
class function TDBProbleme.GetTProblemeData: TSQLTTProbleme; ?
Markus Kinzler
  Mit Zitat antworten Zitat
Freyr77
(Gast)

n/a Beiträge
 
#5

AW: Methodenaufruf nur für Klassenmethoden / Konstruktoren

  Alt 12. Sep 2016, 08:23
class function TDBProbleme.GetTProblemeData: TSQLTTProbleme; ?
Was man Montagmorgens nicht alles übersieht... ich danke dir!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz