Нужна помощь с CriticalSection+NUnit

Jambo1978
Дата: 25.06.2009 21:02:23
Добрый день,

Подскажите плиз куда нужно копать:

К .NET приложению динамически линкую библиотеку, написанную на
Delphi6, и вызываю некий метод. Например:

[DllImport("MyDelphiLibrary.dll")]
public static extern void InvokeSomeDelphiMethod(int someNumber);


При запуске теста из NUnit или MS UnitFramework фреймверк зависает на
вызове этого метода.

Зависает потому, что в библиотке используются Critical Section в
секции Initialization.

Примерно, так:


...skipped MyDelphiLibrary code...

var
  section:TRTLCriticalSection;

initialization
begin
  EnterCriticalSection(section);
  // ... some code lines here.
  LeaveCriticalSection(section);
end;

end.

Кто-нить наступал на подобные грабли?
DmSer
Дата: 25.06.2009 22:08:50
Критическая секция проинициализирована?

И какой смысл от приведенного кода в секции initialization?
Jambo1978
Дата: 26.06.2009 11:43:00
DmSer,

Ай спасибо, не было инициализации критической секции. Странно, что в если запускать метод из Delphi приложения или даже .NET приложения все прокатывало.

Спасибо, выручил!
Jambo1978
Дата: 26.06.2009 11:44:19
DmSer,

А смысл был такой, что это third-party библиотека, ну и приходиться юзать ее as is.