Einzelnen Beitrag anzeigen

RaSoWa1

Registriert seit: 1. Jun 2006
Ort: Halle/Saale
140 Beiträge
 
Delphi 2010 Professional
 
#1

Syntaxoptionen "Boolesche Ausdrücke vollständig" Ein-/Ausschalten

  Alt 8. Okt 2012, 21:33
Hallo,

in meiner TFilterGrid-Kompenente verwende ich an verschiedenen Stellen folgende Code-Konstruktion:
z.B.:
Delphi-Quellcode:
 
var
  ci: TColInfo;
begin
....
  ci := ColInfo[c];
  if (ci <> nil) and Assigned(ci.CompToCellProc) then
.....
Bei mir ist die Syntaxoptionen "Boolesche Ausdrücke vollständig" immer ausgeschalten und der Code funktioniert.
Ein Nutzer meiner Komponente hat diese Option aktiviert und es kommt zwangsläufig zu einer Zugriffverletzung, wenn ci = nil ist.

Ich kann den Code ändern in:
Delphi-Quellcode:
....
  if (ci <> nil) then
    if Assigned(ci.CompToCellProc) then
....
was mir aber nicht sehr gefällt, da er dadurch unübersichtlicher wird.
Ich würde lieber die Compilerschalter {$B+} bzw. {$B-} verwenden.

An welcher Stelle im Quelltext der Komponenete muss ich diese Compilerschalter setzten, damit sie nur für diese gelten?
Wie kann ich erkennen welcher Schalter gesetzt ist?
Wie würdet ihr das Problem lösen?

Grüße Klaus
Klaus
  Mit Zitat antworten Zitat