2015-09-23 5 views
7

Immer wenn ich ein "|" (vertikaler Balken) im Quelltext-Editor beginnt die Delphi-IDE zu hängen.Die IDE hängt, wenn "|" ist im Quellcode vorhanden. Ist es ein Fehler in Delphi XE8?

Ich habe versucht, das "|" in meinem Quellcode über Notepad, bevor ich mein Projekt mit Delphi öffne, scheint es, dass die IDE beim Öffnen des Projekts hängen bleibt.

Beispiel 1 (Dies funktioniert):

procedure TForm8.FormCreate(Sender: TObject); 
begin 
    if 1 = 1 then 
    ShowMessage('True'); 
end; 

Beispiel 2 (Dies funktioniert nicht):

procedure TForm8.FormCreate(Sender: TObject); 
begin 
    if 1 = 1 then || "1" = "1" then //Whenever I start typing the "|", the IDE starts to hang. 
    ShowMessage('True'); 
end; 

Hinweis: Der Delphi-IDE nicht mit meinem Projekt, nachdem ich hängt entfernt das "|" (vertikaler Balken) in meinem Quellcode durch Notepad (vor dem Öffnen des Projekts mit Delphi).

+0

| ist kein Operator in Delphi. Es kann ein Fehler sein, aber Ihr Code ist ungültig. Melden Sie den Fehler an EMBT; Wir können es hier nicht beheben. Anders als Ihnen zu sagen, dass Sie nicht versuchen und verwenden | als Operator im Delphi-Quellcode natürlich. Der richtige Operator für * oder * ist 'oder', wie in' if (1 = 1) oder ("1" = "1") dann. –

+0

@Ken Es ist ein Castalia Bug. Es betrifft Sie, selbst wenn Sie | eingeben zufällig. –

+0

@David: Ja, das kann ich aus Stefans Antwort sehen. Allerdings sagte dieses Poster: * Immer wenn ich * und * schreibe, habe ich versucht, das "I" in meinem Quellcode per Notizblock * hinzuzufügen, was mich zu der Annahme verleitet, dass das OP versuchte, die Pipe als ODER-Operator zu verwenden Ich erklärte den Unterschied. –

Antwort

10

Ja, das ist a bug und leider nur behoben in the subscription update.

Sie benötigen turn off Castalia, wenn Sie dieses Update nicht haben.

+7

Nicht in der Nicht-Abonnement-Update behoben? Schande über Embarcadero. –

+0

Das ist grob. Ich war mir nicht einmal bewusst, dass es einen Unterschied in den Updates zwischen Delphi und Abonnenten gab. – Graymatter

+0

@Graymatter Dieser Unterschied wurde mit XE8 eingeführt. Wenn Sie kein aktives Abonnement haben, können Sie nicht darauf warten, Fehlerbehebungen zu erhalten. Siehe [XE8 Fixliste] (http://edn.embarcadero.com/article/44470) und beachten Sie den Unterschied zwischen dem allgemeinen Update und der Update-Liste. –