ПЗУ КПК или НЕРАЗБЕРИХА
От: XGarik  
Дата: 29.09.05 17:09
Оценка:
Доброго времени суток!

Заметил тут недавно странный баг или так и должно быть?

Код Delphi для копирования файла на КПК (использование библиотеки RAPI.DLL):

procedure TForm1.Button1Click(Sender: TObject);
var
sTemplate:TStringList;
HDes:THandle;
o1:Poverlapped;
BytesWritten:DWORD;
begin
sTemplate:=TStringList.Create;
sTemplate.LoadFromFile('test.xml');
cerapiinit;
HDes := CeCreateFile ('\ipaq file store\test.xml',Generic_Write,File_Share_Write,nil,Create_Always,0,0);
CEWriteFile(HDes,PChar(sTemplate.Text),Length(sTemplate.Text),BytesWritten,@o1);
CECloseHandle(HDes);
CERapiUninit;
showmessage('Скопировано: '+inttostr(BytesWritten) + ' байт');
end;

Обратите внимание на выделенную строку и первый параметр ф-ии CECreateFile... Правильно, это значит создать файл test.xml в ПЗУ.

А теперь попробуем изменить путь так:
HDes := CeCreateFile ('\test.xml',Generic_Write,File_Share_Write,nil,Create_Always,0,0);

Программа выдает сообщение, что скопировано 0 байт. И на КПК создается пустой файл. ПОЧЕМУ? Неужели можно писать только в ПЗУ?

09.10.05 08:28: Перенесено модератором из '.NET' — IT
10.10.05 10:42: Перенесено модератором из 'Delphi & Builder' — Hacker_Delphi
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.