As I see if we could use with like below, adding a dot before property/function/procedure<br><br>with Canvas do<br>  begin<br>      .Rectangle(0, 0, .Width, .Height);<br>  end;<br><br><div class="gmail_quote">2011/8/5 Alexander Klenin <span dir="ltr"><<a href="mailto:klenin@gmail.com">klenin@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Fri, Aug 5, 2011 at 22:04, Luca Olivetti <<a href="mailto:luca@wetron.es">luca@wetron.es</a>> wrote:<br>

>> Unfortunately, "with a = b do" is already a valid operator in FPC,<br>
>> with different meaning.<br>
><br>
> What does it mean?<br>
><br>
> I tried<br>
><br>
> procedure Test;<br>
>  type tr = record<br>
>             f1,f2:integer;<br>
>           end;<br>
>  var r:tr;<br>
> begin<br>
>  with a=r do;<br>
> end;<br>
><br>
> and trying to compile it<br>
>  "Error: Operator is not overloaded"<br>
>  "Error: Expression type must be class or record type"<br>
><br>
> Same error even if I define a:tr.<br>
<br>
</div>I thought that you could overload opertator =:<br>
<br>
type T = record  x, y: Integer; end;<br>
operator =(A, B: T): T; begin Result := a; end;<br>
var a, b: T;<br>
begin<br>
  with a = b do Writeln(x);<br>
end.<br>
<br>
However, FPC forbids overloading of "=" with non-Boolean result,<br>
so it turns out you are right, "=" token is available.<br>
<font color="#888888"><br>
--<br>
Alexander S. Klenin<br>
</font><div><div></div><div class="h5"><br>
--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a><br>
</div></div></blockquote></div><br>