AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...
Thema durchsuchen
Ansicht
Themen-Optionen

Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

Ein Thema von Glados · begonnen am 11. Jul 2017 · letzter Beitrag vom 11. Jul 2017
Antwort Antwort
Glados
(Gast)

n/a Beiträge
 
#1

Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 21:04
Leider ist mir kein besserer Titel eingefallen!

Ich habe eine Unit1 mit einer Klasse und einer darin befindlichen Deklaration für eine Inline-Funktion.
Diese Funktion verwende ich in Unit2.

In Unit2 steht in der Uses-Klausel selbstverständlich Unit1 und trotzdem erhalte ich diesen Hinweis vom Compiler.

Was möchte der Compiler von mir? Die Unit steht doch schon in der Uses-Klausel!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 21:08
IN der Funktion, die geinlinet werden soll, ist etwas, dass läßt sich nicht an die Aufrufstelle verschieben.

z.B. eine Variable/Konstante/Typ/Funktion, welche nicht von deiner Stelle aus "sichtbar" ist.

Ist Dieses in der "Implementation" der Unit1 drin, dann geht das nicht (oder du mußt es so verschieben, dass es auch in Unit2 sichtbar wird)
oder kommt es aus Unit3 (in Unit1 eingebunden), dann mußt du in Unit2 auch die Unit3 einbinden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#3

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 21:11
Wenn das so ist:

ich habe eine Unit mit globalen Variablen drin.
Diese Variablen rufe ich in der Funktion ab.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 21:12
Tja, dann passt es doch.
Zitat:
kommt es aus Unit3 (in Unit1 eingebunden), dann mußt du in Unit2 auch die Unit3 einbinden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#5

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 21:14
Meinst du mit Unit3 meine unit mit den globalen Variablen drin?

Die Funktion holt sich zwei Konstanten aus meiner Globals-Unit und gibt diese Als Rückgabe zurück.
Hat so etwas überhaupt einen Vorteil durch die Nutzung von inline?

Geändert von Glados (11. Jul 2017 um 21:16 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 22:38
Das ist ein bekannter Übersetzungsfehler, die deutsche Übersetzung der Compiler-Warnung ist falsch:

http://www.delphipraxis.net/191195-i...-verstehe.html
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#7

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 22:52
Zitat:
H2445 Inline function '%s' has not been expanded because its unit '%s' is specified in USES statement of IMPLEMENTATION section and current function is inline function or being inline function
Jetzt verstehe ich noch weniger.

Ich habe jetzt Unit welche die Globals enthält in Unit2 eingebunden und die Meldungen sind weg.
Wenn ich nur meine Unit1 einbinde, welche die Inline-Funktion enthält, bekomme ich die Meldung noch.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 22:53
Ich habe jetzt Unit welche die Globals enthält in Unit2 eingebunden und die Meldungen sind weg.
Also genau das, was ich oben geschrieben und dann nochmal zitiert hatte.

Das, was die Funktion verwendet, muß auch dort verfügbar sein, wo es per inline hin soll.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#9

AW: Inline-Funktion .... wurde nicht expandiert, weil Unit ... in der USES-Liste ...

  Alt 11. Jul 2017, 22:55
Zitat:
Das, was die Funktion verwendet, muß auch dort verfügbar sein, wo es per inline hin soll.
Jetzt hab ich's, danke.
  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:40 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