{ comment } (* comment *) // comment BEGIN REPEAT a := 1 UNTIL Nil END; FOR i := 0 downto -1 do a := 5; with machin.a.truc do begin if a = b and Assigned(obj) then obj.func(x) else c := obj.create end; case arf of 1 : REPEAT a := 1 UNTIL False; 2,7 : begin a := b+ 5; end; 3..5 : b.truc(x); else ShowMessage('none'); raise Exception.Create() at @somewhere end; asm mov eax,X // eax <- X - end end add eax,Y // eax <- eax + Y { embedded assembler is a pain in the tail } mov Result,eax { end } (* end *) ; end end; (* asm mov eax,X // eax <- X - end end add eax,Y // eax <- eax + Y { embedded assembler is a pain in the tail } mov Result,eax end; *) e := e.create(a); try e.dothings(arg, arg); try e.continue except on EDivByZero do ShowMessage('error 1'); on E : Exception do ShowMessage('error 2'); else ShowMessage('ok'); ShowMessage('ok'); end finally e.free end; try e.continue except on EDivByZero do ShowMessage('error 1') else ShowMessage('ok'); ShowMessage('ok') end