Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - VarlsEmpty wird mit "Undefinierter Bezeichner" quittiert


Peter18 - Di 08.01.13 16:59
Titel: VarlsEmpty wird mit "Undefinierter Bezeichner" quittiert
Ein freundliches Hallo an alle,

ich habe mal wieder ein Problem mit Delphi 4:
Um einen Variant - Wert zu prüfen möchte ich die Funktion VarlsEmpty verwenden.


Delphi-Quelltext
1:
if not VarlsEmpty( excel ) then  excel.Application.Quit;                    


Der Aufruf wird mit "Undefinierter Bezeichner" quittiert. :x Laut Hilfe ist die Function in der Unit System. Füge ich das jedoch unter uses ein erhalte ich eine Redefiniert-Meldung. Ist anscheinend default.

Aber wie kann ich die Variable prüfen? :?: Ich hoffe jemand kann helfen.

Grüße von der grauen und niesenden Nordsee

Peter


zuma - Di 08.01.13 17:19

Redefiniert deutet drauf hin, das du dich mit den 2 Uses-Klauseln evtl. vertust ?

Und zum Prüfen, ob das Excel-objekt da ist würde ich

if Assigned(Excel) then ...

benutzen

Zuma (gruß von "umme Ecke" zurück)


bummi - Di 08.01.13 17:27

das Älteste Delphi in meinem Zugriff ist D7, dort finde ich VarIsEmpty in der unit Variants


WasWeißDennIch - Di 08.01.13 17:45

IIRC gab es die aber unter Delphi 4 noch nicht.


Mathematiker - Di 08.01.13 17:55

user profile iconPeter18 hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
if not VarlsEmpty( excel ) then  excel.Application.Quit;                    


Stimmt denn die Schreibweise? Es muss doch VarIsEmpty heißen, d.h. mit "I" und nicht dem "L"?

Beste Grüße
Mathematiker


Peter18 - Di 08.01.13 17:55

Hallo zuma, hallo bummi,

danke für Eure Antworten!


Delphi-Quelltext
1:
if not Assigned( excel ) then  excel.Application.Quit;                    

wird mit "Inkompatible Typen" angemeckert. (Hatte ich zuerst probiert.)

"System" verwende ich bei Uses nicht. (Suche: negativ)

Bei Variants oder Varianten, wie in der Hilfe als Kategorie angegeben, nölt er auch. :cry:

Grüße von der Nordsee

Peter

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Hallo Mathematiker,

Danke für Deine Antwort. Die Schreibweise habe ich aus der Hilfe herauskopiert, von da her sollte sie stimmen.

Grüße von der Nordsee

Peter


Mathematiker - Di 08.01.13 18:04

Hallo Peter18,
in Deinem Quelltext mag es ja stimmen, aber hier stimmt es nicht! Du schreibst

Delphi-Quelltext
1:
if not VarlsEmpty( excel ) then  excel.Application.Quit;                    

Richtig ist aber

Delphi-Quelltext
1:
if not VarIsEmpty( excel ) then  excel.Application.Quit;                    

Trage ich beide Zeilen in mein Delphi 5 ein und rufe mit Strg+F1 die Hilfe auf, findet er Deinen Befehl nicht, meinen aber schon.
Das Verwechseln von großem I mit kleinem l ist bei einigen Schriftarten leider möglich.

Beste Grüße
Mathematiker


Peter18 - Di 08.01.13 18:08

Hallo Mathematiker,

ich nehme alles zurück und behaupte das Gegenteil!

Du hast das sehr gut gesehen! Zwar kopiere ich solche Bezeichnungen immer aus der Hilfe, aber wie auch immer das passiert ist, es war der falsche Buchstabe!

Danke :D

Grüße von der Nordsee

Peter