# Inherent Differences Based on Platform

Learn about the inherent differences between Spread COM and Spread.NET platforms.

## Content



There are many things in Spread COM that do not translate into the .NET framework, and so are not a part of the Spread.NET product. This topic discusses a few of those; it is not a comprehensive analysis of how the two versions of Spread compare, nor is it a complete list of what is new in the .NET framework. For more information on the .NET framework, refer to the Microsoft documentation.

Spread COM does not handle formula error codes the same way as Spread.NET. In Spread COM when a formula evaluates to an error code, the cell displays as empty.

**DataFillEvent**, **DAutoFill**, **DAutoSave**, and **DInformActiveRowChange** in Spread COM are not handled the same way in .NET.

**NoBorder** and **NoBeep** have no equivalent in .NET.

**VirtualCurRowCount**, **VirtualCurTop**, **VirtualMaxRows**, **VirtualMode**, **VirtualOverlap**, **VirtualRows**, and **VirtualScrollBuffer** are not handled the same in .NET.

In the Spread COM control, custom functions were evaluated inside the **CustomFunction** event. In Spread.NET, custom functions are evaluated inside an **Evaluate** method in classes in the CalcEngine assembly.

**ColWidthToTwips**, **RowHeightToTwips**, **TwipsToColWidth**, and **TwipsToRowHeight**, as any methods that use twips, are not handled the same in .NET. For sizes, the .NET products use pixels.

Any of the methods that use graphics as in **LoadPictureBuffer**, **SavePicture**, **SavePictureBuffer**, and **LoadResPicture**, the graphics are not handled the same in .NET.