Verzweifelte suche nach dem Fehler
-
*beifall klatscht
und warum funktioniert es dann bitte bei den statuswerten die ich anderweitig aber genau gleich (nur ohne struktur) definiert habe?
da kann ich csDisconnected und csConnected ablesen OBWOHL auch dahinter ein enum steckt ...
ich enthalte mich hier besser eines kommentar
-
Super Antwort, Ceos. So kann man natürlich auch dafür sorgen, dass man keine weitere Hilfe erhält.
Und ein abstraktes Beispiel, in das sich Syntaxfehler eingeschlichen haben können, ist natürlich auch eine idaeale Basis für die Fehlersuche.
-
OK tut mir leid, aber das ein enum auch einem int entspricht iss doch wohl klar wenn man sich nur annähernd mit der hilfe auseinandersetzt ...
zu dem abstrakten beispiel, es geht nicht anders
und an der syntax ist kein fehler, ich wollte hier eigentlich diejenigen ansprechen die mit diesem grauenvollen compiler und seinen bugs umgehen können und fragen ob dieses auslesen aus einer struktur eventuell in kombination mit __property irgendeinen effekt haben kann.... warum ich ihn dann benutze? ich bin leider an ihn gebunden!
ausserdem stresst mich der compiler mehr mit dem anderen problem, ich habe alle .obj alle build-ordner und alle .tds alle lib's und alle bpl's gelöscht die den namen des programm, der komponente oder einer ihrer klassen beinhaltete.
dennoch schmiert regelmäßig der linker ab
-
beschäftige dich bitte einfach erstmal richtig mit enums...
-
Die Tag-Namen von Aufzählungstypen teilen sich den Namespace mit Struktur und Varianten. Die aufgezählten Konstanten teilen sich den Namespace mit normalen Variablen:
kann es sein das du das da meinst?
dennoch wird mir nicht klar wieso der mir den Int wert und nicht den enum zurückgibt, ich befinde mich doch im richtigen namespace wenn ich den wert zurückgebe? Gut man könnte ihn noch casten (schon probiert hilft auch nicht) ... irgendwas muss ich übersehen haben ... zu dem anderen problem, ich habe sowohl das package als auch das programm neu erstellt, einfach 2 neue projekte, die cpp und h kopiert wieder eingestellt und fertig
-
Mal einfach so in die Runde geschmissen, könnte es sein, das der BCB für die Anzeige der "Klartext-Enums" einfach eine Formatierte ausgabe braucht? Die enums werden doch "quasie" wie gruppierte DEFINES behandelt, und nicht als Array aus a.) Klartext-Enum und b.) dem entsprechenden Wert??
Oder ist der BCB so intelligent sich beim Compilieren die Klartexte aus der Enum-Definition rauszulesen und als "Alias" in der (dem?) Property zu hinterlegen?
Aber ich lasse mich gerne belehren...
mfg
Frank
-
sofern ich das hier mit dem vorgegebenen (was auch funktioniert) sehe ist es NICHT nötig ne Formatierte Ausgabe anzulegen, das konkrete problem ist nun das er den enum den ich angelegt habe zwar in dem programm kennt was die komponente benutzt aber die property wird ausschliesslich wie ein integer behandelt, d.h. auch wenn ich da "blabla" eingebe kommt eine fehlermeldung von wegen "ist kein gültiger integer typ" .... kann sein das ich da jetzt was elemntares übersehn habe aber selbst mein "berater" hat da keine ahnung warum das nicht geht und er hat die vorgegebenen propertys selber programmiert
-
sry, edit gibs nur für registrierte User
das eigentliche problem dabei ist nämlich, das irgendwer der die komponente später benutzt nicht weis was er eingeben soll und dann irgendein zahl eingibt die für mich ein undefinierten zustand ergibt ....
AW im vorraus : nein ich werde keine gültigkeitsprüfung einbauen, der fehler muss doch behebbar sein
-
Hallo,
Ich habe das gerade mal bei einer eigenen Komponente getestet. Du meinst ja wohl die Anzeige im Objektinspektor.
Da werden die enums auch mit Namen angezeigt, aber nur wenn sie fortlaufend deklariert sind. D.h., wenn du das = 10 weglässt sollte es funktionieren.
-
ich bin erfreut und erschüttert zugleich ....
das ist die antwort die ich gesucht habe .... leider zerschlägt mir das alle meine konstrukte ... naja pech, muss ichs ummodellieren