Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi gibt es Nicht_Self.xxx ? (https://www.delphipraxis.net/76714-gibt-es-nicht_self-xxx.html)

himitsu 8. Sep 2006 14:41


gibt es Nicht_Self.xxx ?
 
Tachchen,

hab folgendes Konstrukt:
Delphi-Quellcode:
Function TVisibleObject.SetFocus(Wnd: HWND): Boolean;
  Begin
    Result := SetFocus(Wnd) = Wnd;
  End;
SetFocus(Wnd) ist die Windows-API-Funktion, nun meckert aber Delphi beim Kompilieren, da schließlich zuerst das SetFocus der Klasse entdeckt wird und dort Boolean nicht mit HWND kompatibel ist.

Innerhalb eine Klasse kann man doch Self. verwenden um auf Innerklassenfunktion zu verweisen,

aber gibt es auch das Gegenteil davon?

Also daß SetFocus außerhalb der Klasse gesucht wird.



OK, man könnte Unit.Funktion verwenden, aber wenn man die Unit eventuell mal umbennent, müßten auch alle Refferenzen darauf geändert werden.
Daher diese Frage, auch wenn ich nicht daran glaube, daß es sowas überhaupt gibt. :(


Frank

Elvis 8. Sep 2006 14:47

Re: gibt es Nicht_Self.xxx ?
 
Wild guess: Probiere ma ein & davor. Aber keine Ahnung ob es hilft. :duck:

Dax 8. Sep 2006 14:47

Re: gibt es Nicht_Self.xxx ?
 
Gibt es meines WIssens nach auch nicht... :( Du musst dich wohl mit qualifizierten Funktionsnamen abfinden. Das einzige was gegen den Ranme-Konfilkt helfen könnte wäre ne Klasse, in der die Funktion statisch gewrappt werden. Dann hätte man alle Unitnamen an einem Ort.

Neutral General 8. Sep 2006 14:53

Re: gibt es Nicht_Self.xxx ?
 
Weißt du denn in welcher Unit die Function ist ? Dann funktioniert UnitName.SetFocus ;)

EDIT: hab nachgeguckt :arrow: Windows.SetFocus(wnd)

Gruß
Neutral General

himitsu 8. Sep 2006 14:59

Re: gibt es Nicht_Self.xxx ?
 
OK, wollt halt nur nochmal sicher gehn :angel:


Zitat:

statisch gewrappt
genau sowas wollte ich nicht, bin ja schliechlich daran die ganzen Dinge logisch und ihren Abhängigkeiten nach zu trennen und alles möglichst nicht doppelt zu deklarieren (auch wenn es bei den APIs nach dem Kompilieren wohl egal wäre), was wärend der ganzen Veränder-/Erweiterungen immer mal wieder zu Namensänderungen führt, außerdem mag ich manchmal einige Namen nach 'ner Weile nicht mehr, oder eine Funktion paßt plötzlich wo anders besser rein..... :stupid:



[add+add2]
Ja ich weiß das (aktuell FNS_Forms.pas) aber ob das lange so bleibt :roll:
(das war ja auch nur ein aktuelles Beispiel, von ganz vielen)


Nö :tongue:
Das ganze Projekt basiert fast vollkommen direkt auf der WinAPI, oder eigenen Funktionen (vorallem wegen der Unicode-Unterstützung).
Also in nahezuallen Units ist außer System und SysInit nichts von Delphi-Units zu sehen ._.

Abgesehen davon sind in Delphi nicht alle WinAPIs korrekt definiert (so wie es im MSDN/PSDK drinsteht).


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