Komponentenentwicklung - akzeptiert keine eingaben im Objektinspector
-
wenn ich in meiner eigen gemachten Komponente einen Wert (DWORD) einen neuen zuweisen will, kommt nur immer "Der Wert muss zwischen 0 und -1 liegen"

hat mir jemand ne idee, an was das liegen könnte?
hier mal der nötige code:__published: __property DWORD BufferInput = {read=GetInputBuffer ,write=SetInputBuffer}; private: DWORD FInputBuffer; protected: DWORD __fastcall GetInputBuffer(){return(FInputBuffer);} void __fastcall SetInputBuffer(DWORD Buffer){FInputBuffer = Buffer;}für jegliche kreative vorschläge bin ich dankbar
[edit]achja.. das ganze ist auch bei unsigned int werten so[/edit]
-
keiner eine idee?

-
Just a wild stab in the dark...
Hast Du schon versucht einen default-Wert mit angegeben?
-
thx für deine antwort
also ich habe im konstruktor defaultwerte gesetzt.
jetzt habe ich das aber so gelöst (ich denke mal du meintest das so)__property DWORD BufferInput = {read=GetInputBuffer ,write=SetInputBuffer, default=2048};jetzt sind aber alle werte 0 und der default wert wird nicht angenommen
-
BigNeal schrieb:
jetzt sind aber alle werte 0 und der default wert wird nicht angenommen
Der default-Wert, den man in der __property-Deklaration angibt wird meines Wissens nur beim Speichern und Laden
der Eigenschaften berücksichtigt.
Hast Du beispielsweise eine bool-Eigenschaft und gibst als default false an, wird der Eigenschaftswert nur dann
gespeichert, wenn Du im Objektinspektor die Eigenschaft auf true setzt. Du musst aber trotzdem noch den default-
Wert im Konstruktor setzen. Das bedeutet auch, dass Du Dich darum kümmern musst, dass die beiden Werte übereinstimmen.Gruß,
Alexander
-
ich habe das soweit aufgerüstet..
habe jetzt mal tests gemacht
habe wie beim oben genannten codebeispiel entsprechende tests mit DWORD, unsigned int, char und int gemacht
Ergebnis:
DWORD + unsigned int => Errorchar + int => klapt super
kann mir das jemand erklähren?
werden gewisse Variabeltypen nicht unterstützt?
habe ich was überlesen?