Всем привет и всех с Праздником!
Ребят, подскажите, что не так. Есть приложение. Оно нормально работает в Win64, но когда компилирую в Win32, происходит это:
Что это и как лечить?
Модератор: Модераторы
BadBoyAlex писал(а):но когда компилирую в Win32
Vadim писал(а):BadBoyAlex писал(а):но когда компилирую в Win32
Компилируете или запускаете программу?
Padre_Mortius писал(а):запустите приложение под gdb и посмотрите где падает
BadBoyAlex писал(а):Что это и как лечить?
Padre_Mortius писал(а):Как-то так
C:\lazarus\mingw\i386-win32\bin
Лекс Айрин писал(а):а dll у вас не 64битная?
procedure MyFmtStr (var VStr: PChar);
var Str: String;
begin
Str:= VStr;
Str:= Format(Str, [1,2,3]);
VStr:= PChar(Str);
end;
function MyFmtStr (const AStr: String): String;
var DLLInst: THandle;
MyProc: procedure (var VStr: PChar);
Str: PChar;
begin
DLLInst:= SafeLoadLibrary('StrFrmtDll.dll');
@MyProc:= GetProcAddress(DLLInst, 'MyFmtStr');
Result:= AStr;
Str:= PChar(AStr);
try
MyProc(Str);
finally
Result:= Str;
FreeLibrary(DLLInst);
end;
end;
//Собсно, сам вызов функции
//...
ShowMessage(MyFmtStr('Мы считали барашков: %d, %d пришли, а вот %d заблудился...'));
//...
BadBoyAlex писал(а):Что не так?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 230