Non-TThread Threading in Delphi, Access Violation, Invalid Pointer Operation.

Abstract: Threading in Delphi without using TThread or BeginThread, must set IsMultiThread to true.

Question:
Why do I get "Access violation" or "invalid pointer operation" when doing multi-threading in Delphi when not using the TThread class or the BeginThread function (i.e. using the CreateThread API function, or writing an Entera server)?

Answer:
If you use non-Delphi threads (not using TThread or BeginThread) in a Delphi application, then you must manually set the IsMultiThread variable from the System unit to true. See "IsMultiThread variable" in the online help files for more information.

Server Response from: ETNASC03