Здравствуйте, _petrovich_, Вы писали:
__>mqic32.dll на компе в единственном экземпляре.
__>Интересно вот что — если делать так:
__>// procedure MQDISC(......);cdecl;external 'mqic32.dll';
__> Handle := LoadLibrary('mqic32.DLL');
1) Лучше грузить по абсолютному пути. Затем проверять Handle...
DLLHanle:=LoadLibrary('D:\.....\mqic32.dll');
if DLLHandle<>0 then ......
2) Инициализировать и вызывать вот как (соответственно каждый шаг котролируем)...
type
TMQDISK=procedure (....); cdecl;
var FMQDISK:TMQDISK;
// ....
FMQDISK:=nil;
@FMQDISK:=GetProcAddress(DLLHandle,'MQDISK'); // внимательно! можем точку входа не найти из-за несовпадения имени ф-ции.
// ....
if @FMQDISK<>nil then FMQDISK(....);
2) MQDISK () точно
cdecl а не
stdcall? Возможная причина вашего AV — несовпадения модели вызова в ДЛЛ и приложении.