Seite 1 von 1

Existenz einer Variablen [Erledigt]

Verfasst: Mo, 03. Feb 2020 10:05
von Jan
Hallo,

gibt es eine Möglichkeit festzustellen, ob es eine Variable schon gibt? Ich möchte für den Fall, das es eine bestimmte PUBLIC noch nicht gibt, diese erstellen. Im Moment seh ich nur die Möglichkeit, das in einer Sequence-Schleife zu machen um die Meldung "Unbekannte Variable" und den damit verbundenen Laufzeitfehler abzufangen. Geht das nicht auch einfacher?

Die Workbench stellt ja auch eine Liste aller Variablen bereit inkl. der Werte. Irgend wie muß man da also ran kommen können.

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:20
von Bertram Hansen
Hallo Jan,

wie wäre es mit

Code: Alles auswählen

IF TYPE("V_DEINZEL") == "U"
    PRIVATE V_DEINZEL := .T.
ENDIF
 

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:23
von psp
Hi,

schau mal in der Hilfe nach IsMemvar evtl Reicht das schon

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:36
von Jan
Hallo Ihr beiden,

ich fang mal hinten an.

isMmevar() get leider nicht. Der gibt mir ein "Unbekannte Variable" zurück wenn nicht deklariert (hätte damit also nichts gewonnen), und immer ein .F., wenn die deklariert ist. Egal ob ohne oder mit zugewiesenem Wert.

Type() klappt aber. Und ist wesentlich schlanker umzusetzen als Sequence.

Danke Euch

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:37
von Bertram Hansen
Oder schaue dir mal die Funktion SymbolInfo() an.

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:38
von Jan
Ähm. Ich schau mir gerade die Hilfe zu isMemvar() an. Wenn das so wäre wie dort beschrieben wäre das OK. In meinem Test lief das aber so wie von mir beschrieben. Bin etwas irritiert.

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:41
von Jan
Bertram,

ah, ja. Das ist die Liste, die ich meine. Die Funktion hab ich noch nie verwendet. Interessantes Teil.

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:45
von Jan
OK, hab den Fehler in isMemvar() bei mir gefunden. Aus guter alter Tradition habe ich nach Deklaration der PUBLIC xyz ein isMemvar()"MEMVAR->xyz") abgefragt. Das gibt ein .F. Ein isMemvar("xyz") dagegen ein .T.

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:45
von Bertram Hansen
Jan,
ich bin's

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 10:53
von Jan
Bertram,

wie konnte ich nur! Sorry, ist korrigiert.

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 11:00
von Manfred
Jan
was hast Du den jetzt gemacht?

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 11:04
von Jan
Manfred,

falschen Button geklickt, wollte das korrigieren, wieder falschen Button geklickt, und konnte den Beitrag nicht löschen.

Jan

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 11:07
von Manfred
soll ich mal versuchen? Ist weg. Kannte ich auch noch nicht.

Re: Existenz einer Variablen

Verfasst: Mo, 03. Feb 2020 11:10
von Jan
Danke fürs löschen.

Jan