Today I ran across yet another limitation of SyncEdit. Incredible you say? Check out the following sample code:
procedure CreatePackage(anInvoiceItem :ThcInvoiceItem; aClient :ThcClient); begin if anInvoiceItem.AssociatedProduct.StockType.AsString = 'PACK' then CreatePackage(anInvoiceItem.AssociatedProduct.PackageType.AsString); end;
Rather than use a Search/Replace as I would normally, I chose to invoke SyncEdit after highlighting the method. Then I discovered I could not replace anInvoiceItem.AssociatedProduct with aProduct. SyncEdit will not allow you to remove an identifier, so the closest I could get was a.aProduct. Likewise, SyncEdit cannot be invoked when you use Ctrl+A to select the entire unit. While it may be flashy, it’s not as flexible or as fast to use as Search/Replace IMHO.