Ошибка приложения Delphi с OLE в DLL
Вопрос
У меня есть 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
.