Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

MultiThread problem with FDK

Participant ,
Apr 13, 2016 Apr 13, 2016

Hi. I am using a C# desktop application. I have a C++\CLI wrapper that is connected with a native C++ library which is a custom FDK asynchronous client. In the C# application I use task parallelism (multi threading). Whenever I use the FDK client through C++\CLI wrapper from the main thread the FM API calls return data succesfully. However, when I use the FDK client from other thread (new Task) I get back no results. Is FDK multithreaded safe? Any help would be appreciated.

TOPICS
Scripting
561
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Mentor , Apr 13, 2016 Apr 13, 2016

Ch,

I can't answer this question with any precision. I can say this, though... that older versions of FDK documentation specifically stated that clients operate in a single-threaded manner. Furthermore, in earlier versions of Visual C++, you had to set up your project as single-threaded in the code generation settings. In newer versions of Visual C++, this option no longer exists and now you have to use a multi-threaded option (/MD). The use of the multi-threaded option has been documented by Ado

...
Translate
Mentor ,
Apr 13, 2016 Apr 13, 2016

Ch,

I can't answer this question with any precision. I can say this, though... that older versions of FDK documentation specifically stated that clients operate in a single-threaded manner. Furthermore, in earlier versions of Visual C++, you had to set up your project as single-threaded in the code generation settings. In newer versions of Visual C++, this option no longer exists and now you have to use a multi-threaded option (/MD). The use of the multi-threaded option has been documented by Adobe and apparently they did something to make a DLL compile; however, I would suspect that the underlying functionality of the API has not changed.

This is as much as I know... any deeper technical details would require someone with more development expertise.

Russ

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Apr 13, 2016 Apr 13, 2016
LATEST

I have downloaded the latest version of FDK: FDK2015.

In the "fdkprogrammingguide.pdf" I see the following:

With Code Generation still selected, choose Single-Threaded from the Runtime Library popup list. The FDK ships in a single-threaded version. By default, the project sets this option to Multi-threaded. Compiling the FDK with a multi-threaded runtime library produces the following warning: defaultlib "LIBC" conflicts with use of other libs;

My projects are Visual C++ 2012 version and in the code generation under C/C++ section I have : Multi-threaded DLL (/MD) (for release mode) and Multi-threaded Debug DLL (/MDd) (under debug mode).

There are many other properties there.

Although it builds with Multi-threaded I see no better results.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines