AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Konstruktor-Aufruf "Too many actual parameters" - warum?
Thema durchsuchen
Ansicht
Themen-Optionen

Konstruktor-Aufruf "Too many actual parameters" - warum?

Ein Thema von Bodenseematze · begonnen am 13. Jul 2023 · letzter Beitrag vom 26. Jun 2024
Antwort Antwort
Seite 2 von 2     12   
Bodenseematze

Registriert seit: 10. Jul 2023
50 Beiträge
 
#11

AW: Konstruktor-Aufruf "Too many actual parameters" - warum?

  Alt 14. Jul 2023, 07:08
Du hast es ja offenbar selbst schob erkannt: Da der protected constructor nicht sichtbar ist, wir stattdessen der von TObject genommen.
ja schon, aber warum wird dann in dem Fall nur noch der (öffentliche) Konstruktor von TObject gefunden und die anderen beiden aus meiner Klasse sind "ungültig"?
Und in dem Augenblick, wo alle öffentlich sind, funktioniert wieder aller wie gehabt? Sehr dubios!

Das müsste im Debugger auch auffallen.
Seufz - noch so ein Reizthema bei mir; der Debugger funktioniert schon seit einer ganzen Weile bei mir nicht mehr (richtig) - ich schiebe es auf irgendwelche Microsoft Betriebssystemupdates...
Sobald ich ein Programm im Debugger versuche zu starten, hängt sich Delphi zu 95% komplett auf (die restlichen 5% funktioniert es).
In vielen Fällen funktioniert es, wenn ich auf der eigenen Maschine Remote-Debugging verwende, aber auch nicht immer...
Aber das ist ein anderes (leidiges) Thema

Ja, eigentlich "darf" man sichtbarkeiten nicht verringern.
Das wusste ich nicht - ich dachte, das sei zulässig...
(wer's doch versucht, muß mit den Konsequenzen leben)
Da scheinst Du Recht zu haben

Man könnte hier mehrfach ableiten.
Sehr gute Idee, das werde ich so machen!


Du kannst aber auch ganz einfach herausfinden, ob die beabsichtigte Unit verwendet wird:
Baue einfach einen Syntaxfehler in die Unit ein. Wenn der nicht bemängelt wird, wird sie auch nicht verwendet.
Es wird schon die Unit verwendet - es scheint tatsächlich an der (versuchten) Sichtbarkeitsänderung des Konstruktors zu liegen...

Vielen Dank für Eure Hilfestellungen!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.410 Beiträge
 
Delphi 12 Athens
 
#12

AW: Konstruktor-Aufruf "Too many actual parameters" - warum?

  Alt 26. Jun 2024, 22:42
[add] OMG, einen vergessenen Tab gefunden und wo Firefox sich so Mühe gegeben hat das Geschriebene im Editor, trotz mehrfacher Abstürze, Neustarts und disableter Tabs zu merken ......... klick ich mal auf Senden
Falls noch was fehlt und ich es noch nicht geschrieben hab ... hab's eh vergessen[/add]

Das wusste ich nicht - ich dachte, das sei zulässig...
Nja, es ist möglich,
aber widerspricht den Grundsätzen der OOP.

Durch die Vererbung werden Dinge hinzugefügt, aber niemals nicht entfernt.

Ein TMemoryStream kann alles, was ein TStream kann,
also es macht keinen Unterschied, ob ich VariableAlsTMemoryStream.Write oder VariableAlsTStream.Write ausführe, solange da wirklich ein TMemoryStream drin steckt.



Delphi-Quellcode:
type
  TTest = class(TComponent)
  strict private
    procedure SetName(const NewName: TComponentName); override;
  strict protected
    property Tag;
  end;

procedure TForm4.FormCreate(Sender: TObject);
begin
  Tag := TTest.Create(Self).Tag;



  var Edit: TEdit;
  var Cont: TControl;

  Edit := TEdit.Create(Self);
  Cont := Edit;

  TLabel(Edit).Caption := ''; // Ja, Caption gibt es seit TControl, aber meistens ist es einfach nur im Protected versteckt.
  TLabel(Cont).Caption := '';
  Edit.Caption := ''; // [dcc32 Fehler] E2362 Auf protected-Symbol TControl.Caption kann nicht zugegriffen werden

  Edit.Text := '';
  Cont.Text := ''; // [dcc32 Fehler] E2362 Auf protected-Symbol TControl.Text kann nicht zugegriffen werden
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

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 18:44 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