AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

reserviertes Wort umgehen

Ein Thema von thomasch · begonnen am 10. Aug 2005 · letzter Beitrag vom 10. Aug 2005
Antwort Antwort
thomasch

Registriert seit: 7. Apr 2005
57 Beiträge
 
Delphi 2007 Architect
 
#1

reserviertes Wort umgehen

  Alt 10. Aug 2005, 12:22
Hallo,
in einer Anwendung, auf die ich über späte Bindung zugreife gibt es ein Objekt mit der Eigenschaft "Type". Nun is das aber ein reserviertes Wort in Delphi, so dass z.B.
if (Objekt.Type=bla) then in die Hosen geht. (Type ist dort ein Integer)

Kann ich ohne größere Kopfstände das reservierte Wort umgehen?

Thomasch
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 12:30
Wenn du auf frühe Bindung umstellst wird sowas von Typlibrary-Importer von Delphi automatisch erledigt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
thomasch

Registriert seit: 7. Apr 2005
57 Beiträge
 
Delphi 2007 Architect
 
#3

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 12:35
Mit früher Bindung bekomme ich leider ganz andere Probleme, wegen denen ich auf late binding umgestiegen bin.

Thomasch
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 12:39
Hi,

fall Du Delphi 2005 hast, kannst Du Bezeichner, die eigentlich reserviert sind, mit einem & ansprechen.

Delphi-Quellcode:
var
  &Unit: Integer;
begin
  &Unit := 20;
end;
Offiziell geht das nur unter .NET (wofür das Feature eigentlich geschaffen wurde), aber es kompiliert auch unter Win32.


mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 12:56
Wenn du ein _TLB.pas verwendest, dann kannst du doch dort alle Namen umbiegen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 13:09
Zitat von thomasch:
Mit früher Bindung bekomme ich leider ganz andere Probleme, wegen denen ich auf late binding umgestiegen bin.
Welche den?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
thomasch

Registriert seit: 7. Apr 2005
57 Beiträge
 
Delphi 2007 Architect
 
#7

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 13:17
Ich müsste jetzt genauer nachsehen.
Woran ich mich spontan erinnere sind Probleme beim Übergeben von Variablen und beim Aufrufen von Funkionen. Auch jetzt muss ich an einer Stelle mit VarArrayRef arbeiten, weil anders die Variable nicht zu übergeben ist.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 13:24
Zitat von thomasch:
Ich müsste jetzt genauer nachsehen.
Woran ich mich spontan erinnere sind Probleme beim Übergeben von Variablen und beim Aufrufen von Funkionen. Auch jetzt muss ich an einer Stelle mit VarArrayRef arbeiten, weil anders die Variable nicht zu übergeben ist.
Du kannst in Delphi wahlweise frühe und späte Bindung verwenden.
Wenn dir eine Funktion in der frühen Bindung probleme bereitet so nimm doch für diese Funktion die späte Bindung.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: reserviertes Wort umgehen

  Alt 10. Aug 2005, 13:33
In der Unit AxCtrls gibt es:
Delphi-Quellcode:
function GetDispatchPropValue(Disp: IDispatch; DispID: Integer): OleVariant;
procedure SetDispatchPropValue(Disp: IDispatch; DispID: Integer; const Value: OleVariant);
Wenn du die DispID kennst (lässt sich ja leicht nachschauen):
Delphi-Quellcode:
var
   objekt : OleVariant;
   if GetDispatchPropValue(object, 41) = 'test then ...
Ich dachte, dass ich mal ähnliche Funktionen wie oben im der VCL gefunden habe, bei denen anstelle der
DispID das Property als String übergeben wird; finde die Stelle aber nicht mehr :-/
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz