Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Constant expression expected

  Alt 18. Mai 2019, 10:48
case DlgItemID of funktioniert nicht!
DlgItemID wird aus der Anwendung an die DLL geschickt und dann wird aus DlgItemID eine Variable.

gruss
Das spielt keine Rolle, solange die Variable ein ordinal type ist. Das Case-Statement will nur in den einzelnen case-Werten Konstanten haben, der Wert, der ausgewertet werden soll kann aus einer Variablen kommen. Aber es muß halt eine Variable von einem Typ sein, auf den die Ord-Funktion angewendet werden kann (also Boolean, enumerated type, ganze Zahlen).
Siehe mein Edit..

Und wie schon gesagt die DLL kennt die Konstante ID_COLORPICK: nicht!
Die wird in der Anwendung erstellt.

Und DlgItemID = ID_COLORPICK wird zur DLL geschickt.

gruss
Wenn die DLL nicht weis, was die Inhalte von DlgItemID bedeuten, was soll sie dann damit anfangen? Du hast da einen Fehler im Design. Normalerweise macht man das so, dass man eine Unit erstellt, die in ihrem Interface-Teil die Konstanten und eventuell Typen (z. B. enumerated type) deklariert, die sowohl die DLL als auch die Hostapplikation kennen müssen. Diese Unit benutzt man dann in beiden Projekten.
Peter Below
  Mit Zitat antworten Zitat