Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Inline-Funktion wurde nicht expandiert, weil... (https://www.delphipraxis.net/193603-inline-funktion-wurde-nicht-expandiert-weil.html)

Glados 18. Aug 2017 20:27

Inline-Funktion wurde nicht expandiert, weil...
 
ich verstehe es einfach nicht!
Schon zum x-ten Mal bekomme ich die Meldung, dass Inline-Funktion ABC nicht expandiert wurde, weil Unit XYZ nicht in den Uses steht.

Genannte Unit XYZ steht aber in den Uses. Was mache ich falsch?
Alle Units die die Funktion ABC nutzt, stehen auch in den Uses.

hoika 18. Aug 2017 20:43

AW: Inline-Funktion wurde nicht expandiert, weil...
 
Hallo,
welche Funktion ist es denn, deine eigene?

Glados 18. Aug 2017 20:46

AW: Inline-Funktion wurde nicht expandiert, weil...
 
Ja, ist meine eigene.

Meine Prozedur befindet sich in Unit B, der Aufruf samt Parameter kommt aus Unit A.
Alle erforderlichen Units sind eingebunden und dennoch kommt zufällig dieser Compiler-Hinweis. Er kommt sehr selten!

Der schöne Günther 18. Aug 2017 20:51

AW: Inline-Funktion wurde nicht expandiert, weil...
 
http://www.delphipraxis.net/191195-i...-verstehe.html

Glados 18. Aug 2017 20:55

AW: Inline-Funktion wurde nicht expandiert, weil...
 
Wenn ich wenigstens diese Fehlermeldung irgendwie provozieren könnte, könnte ich das auch testen.

Ich habe besagte Unit XYZ jetzt mal in den interfaqce-Teil gesteckt.

himitsu 18. Aug 2017 20:59

AW: Inline-Funktion wurde nicht expandiert, weil...
 
Zitat:

Zitat von Glados (Beitrag 1379048)
Ich habe besagte Unit XYZ jetzt mal in den interfaqce-Teil gesteckt.

Wessen Interface?

Siehe der Link vom Schönen.
Die Fehlermeldung sagt eigentlich genau, was da schief läuft ist.

Glados 18. Aug 2017 21:02

AW: Inline-Funktion wurde nicht expandiert, weil...
 
Delphi-Quellcode:
interface

uses ... // jetzt steht es hier

implementation

uses ... // vorher stand es hier

end.
Da die Fehlermeldung scheinbar falsch übersetzt wurde und das Original auch nicht besser zu sein scheint, kapiere ich jetzt überhaupt nix mehr.
ich weiß nur, dass man bei Inline-Funktionen alle in der Funktion genutzten Units in die Unit des Aufrufers in die Uses schreiben muss, was ich schon vorher getan habe und dennoch kam die Meldung.

Zacherl 18. Aug 2017 21:34

AW: Inline-Funktion wurde nicht expandiert, weil...
 
In manchen Fällen muss die Unit tatsächlich explizit im
Delphi-Quellcode:
interface
Teil aufgeführt werden.

Zum Beispiel wenn:
Du in Unit A eine
Delphi-Quellcode:
inline
Funktion deklariert hast, die im Funktionsrumpf erneut eine
Delphi-Quellcode:
inline
Funktion aus Unit B aufruft. Unit B muss in diesem Falle im Interface Teil der Unit C stehen (wenn die Funktion aus A in C aufgerufen wird).


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