Вопрос

У меня есть COM-объект, настройка / создание / работа с DataModule.

Создание / запуску / освобождение данных DataModule из приложения работает без проблем.

Но выкладывая DataModule в DLL, работает нормально, в первую очередь запустив COM-объект и т. Д. .. Но после нескольких вызовов без перезапуска приложения эта ошибка появляется.

Изображение сообщения об ошибке http://darkaxi0m.name/so/errormessage.gif

В приложении есть тариф кода, поэтому я не могу опубликовать все это, я пробовал Madexcept как в приложении, так и в DLL, без удачи. IDE разрывается в точке, которая не кажется много помощи ...

Alt Text http://darkaxi0m.name/so/cpubReak.gif.

Это код, который обрабатывает DataModule, та же функция используется в приложении и DLL в обоих тестах

function GetAmount( Amount : integer; var Info: PChar): integer; stdcall;
 var
  tempInfo: string;
   workerDM : TworkerDM;
 begin
  Result := 0;    
  workerDM := TworkerDM.Create(nil);
    try      
      tempInfo:= Info;
      Result := workerDM.GetAmount(Amount, tempInfo);
      StrPCopy(Info, tempInfo);
    finally
      workerDM.Free;
    end;
 end;

Я хотел бы обвинить объект OLE, но он работает отлично из DLL

Я в потере даже думать, с чего начать смотреть.

Это было полезно?

Решение 2

Я не верю, что этот вопрос можно ответить. Проект был соскрешен, и объект, который производит ошибку, больше не используется.

Мой Удалить Запросы прошли без ответа.

Так что это сейчас мой ответ.

Другие советы

в finally, Вы звоните Free, но должен позвонить workerDM.Free.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top