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.