![]() |
LSP: Problem mit der Vervollständigung
Ich habe folgendes Problem. Ich weiß nicht, ob das ein Fehler nur bei mir ist oder bei allen oder ob das alles so gewollt und daher richtig ist.
Delphi-Quellcode:
So, dies ist in etwa der Code. Wenn ich nun "AsngParam." tippe (siehe <<====), möchte ich die Methoden und Propertys sehen. Ich bekomme aber nur einen Grundstock an functions. Keinerlei Daten zu meinem Object. Compilieren geht aber einwandfrei.
interface
type TKernelFunc = class(TInterfacedObject, IsngFunc, IKernelFunc) strict private function InstallService ( const Param: TJSONObject) : TJSONObject; // Para: Feldliste ... public class function InstallService_v1 ( const AsngParam : TsngParameter) : TsngResult; end; ... implementation class function InstallService_v1 ( const AsngParam : TsngParameter) : TsngResult; begin AsngParam. <<===== end; Wenn ich nun das "class" entferne, funktioniert alles wie gewünscht. Also ich sehe alle Daten. Was hat das "class" mit dem Parameterobjekt zu tun? Habe ich einen Fehler? Funktioniert sowas nicht oder ist hier ein Bug? Wie gesagt, compilieren ohne Fehler möglich. VG Thomas |
AW: LSP: Problem mit der Vervollständigung
Delphi-Quellcode:
Wenn das ALLES compiliert, dann stimmt was nicht.
implementation
class function InstallService_v1 ( const AsngParam : TsngParameter) : TsngResult Tipp: Du hast eine Klasse und was fehlt da wohl? Diese "Prozedur" wird natürlich kompilieren (solange du nur auf den Parameter zugreist und auf nichts Andereres der Kasse), aber oben sollte die "Methode" als fehlend angemeckert werden. |
AW: LSP: Problem mit der Vervollständigung
Sorry, ich habe die erste "function InstallService" nicht gelöscht. Das verwirrt. Die ganze Sache ist um den anderen Code bereinigt.
Es ist natürlich alles richtig. Und läuft. Egal ob ich es als "class function" oder normale function nehme (den Aufruf muss ich natürlich zum testen anpassen). Ich habe es jetzt an verschiedenen Stellen bemerkt. Innerhalb der Programmierung einer "class function" werden die Objekte nicht richtig vervollständigt. Habe es bisher aber noch nicht an einem anderen Objekt probiert. |
AW: LSP: Problem mit der Vervollständigung
Ach so, das meinste du: function TKernelFunc.InstallService_v1
Ja, auch das war eigentlich mal richtig. Ändert leider nichts an dem Problem. Habe sehr viel zum testen rumprobiert, daher der doch fehlerhafte Code oben. Aber das Problem bleibt. |
AW: LSP: Problem mit der Vervollständigung
Eigentlich hieß es das sollte jetzt wieder funktionieren,
Patch 2 : ![]() aber ich hatte das schon auf Classic umgestellt, weil das mit LSP einfach garnicht nutzbar war und ich hatte jetzt noch keine Lust das zurückzustellen, nach dem, was man anschließend von Anderen hörte. Das Alte läuft zwar nicht mehr so gut, wie vor dem LSP-Einbau (auch wenn man es abschaltet), aber so lange keine neuen Features vorkommen, empfinde ich es dennoch als stressfreier nutzbar. (Inline-Variablen und Nachfolgendes wird als "Falsch" markiert und sobald man die Managed Records in der Deklaration hat, geht fast garnichts mehr) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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 by Thomas Breitkreuz