Форум: "WinAPI";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизEnumResourceTypes постоянно возвращает ошибку Найти похожие ветки
← →
Surik (2005-12-04 13:08) [0]Доброго времени суток! Подскажите, что я делаю неправильно?
function EnumResTypeProc(hModule: Cardinal; lpszType: PChar; Param: Integer): Bool;stdcall;
begin
MessageBox(0,lpszType,nil,0);
Result := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
hMod,hRes: Cardinal;
begin
if not opendialog1.Execute then exit;
hMod := LoadLibrary(PChar(opendialog1.FileName));
EnumResourceTypes(hMod,@EnumResTypeProc,0); { всегда возвращает}
ShowMessage(SysErrorMessage(GetLastError)); {"Неверная попытка обращения к адресу памяти"}
end;
← →
Lamer@fools.ua © (2005-12-04 13:29) [1]>>Surik (04.12.05 13:08)
>MessageBox(0,lpszType,nil,0);
Из справки:
EnumResTypeProc Function
...
Remarks
If IS_INTRESOURCE( lpszType) is TRUE, lpszType specifies the integer identifier of the given resource. Otherwise, it is a pointer to a null-terminated string. If the first character of the string is a pound sign ( #), the remaining characters represent a decimal number that specifies the integer identifier of the resource. For example, the string " #258" represents the identifier 258.
Далее.
IS_INTRESOURCE Macro
...
Remarks
This macro checks whether all bits except the least 16 bits are zero. When true, wInteger is an integer identifier for a resource. Otherwise it is typically a pointer to a string.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.054 c