# _FAR_USE_FARFINDDATA

The macro _FAR_USE_FARFINDDATA controls whether the PluginPanelItem structure uses the WIN32_FIND_DATA structure defined in the Windows API headers or the the FAR_FIND_DATA that has the same layout but is defined in `plugin.hpp`. As some compilers (for instance, Borland C++ 5.5) force 8-byte alignment for structures defined in the Windows API headers, it is not possible to achieve the correct 2-byte alignment for the entire PluginPanelItem structure when the WIN32_FIND_DATA structure is used.

If the macro _FAR_USE_FARFINDDATA is not defined, the PluginPanelItem structure will be compatible with FAR Manager versions prior to FAR 1.70 beta 3 (inclusive). However, it will not be possible to correctly compile plugins with Borland C++ 5.5 without modifying the Windows API headers.

If the macro _FAR_USE_FARFINDDATA is defined, the FAR_FIND_DATA structure will be used. Then it will be compatible with all compilers, but some plugins relying on the fact that the WIN32_FIND_DATA structure is used will not compile.

Attention!

- In FAR 1.70 beta 4, the default variant is compatible with old plugins (_FAR_USE_FARFINDDATA is not defined). However, in FAR 1.70 release the new default will be _FAR_USE_FARFINDDATA. So if you want your plugins to be source-level compatible with FAR 1.70 release, you can right now add the #define _FAR_USE_FARFINDDATA and modify the source code of your plugins accordingly.

See also:
FAR_FIND_DATA | WIN32_FIND_DATA