Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

проблема с WriteFile   Найти похожие ветки 

 
Dot   (2005-08-27 12:13) [0]

Приветствую Вас, Мастера.
В челях самопознания написал программу, которая будет доставать из своих ресурсов EXE-файл и сохранять его на диск.
******* test.rc ********
Num EXEFILE C:\call.exe
************************
Скомпилировал brcc32.exe test.rc
call.exe - просто выводит MessageBox

******* ExRes.dpr ******
program ExRes;
uses Windows;
{$R test.res}
var
hRes  : HRSRC;
hRD   : HGLOBAL;
rSize : DWORD;
hMem  : Pointer;
hFile : THandle;
iBW   : Cardinal;
begin
 hRes := FindResource(0,PChar("EXEFILE"),Pchar("Num"));
 hRD  := LoadResource(0, hRes);
 hMem := LockResource(hRD);
 rSize:= SizeofResource(0,hRes);
 hFile:= CreateFile(PChar("1.exe"),GENERIC_WRITE,FILE_SHARE_READ,nil,CREATE_NEW,0,0);

WriteFile(hFile,hMem,rSize,iBW,nil);
CloseHandle(hFile);

end.
************************
Вот у меня проблема с параметром iBW, в документации написано NumbersOfByte, этот код работает на си если писать так
DWORD iBW;
WriteFile(hFile,hMem,rSize,&iBW,0);
однако в дельфи файл создается, такой же по размеру как и должен быть, однако половина файла забита нулями и он откаывается работать.
Помогите пожалуйста, как надо объявить правильно эту переменную.


 
Джо ©   (2005-08-27 12:22) [1]


> В челях самопознания написал программу

В целях самопознания медитируют, а не программы пишут %)


 
tesseract ©   (2005-08-27 12:32) [2]

попробуй hMem^


 
Dot   (2005-08-27 13:07) [3]

tesseract ©   (27.08.05 12:32) [2]
попробуй hMem^

Огромное Спасибо!
Не можешь ли объяснить, почему имеено так? что было неправильно?


 
Marser ©   (2005-08-27 14:21) [4]


> Не можешь ли объяснить, почему имеено так? что было
> неправильно?

Оператор ^ обозначает доступ к данным, на которые указатель ссылается. Иначе ты получаешь доступ к значению самого указателя :-)


 
tesseract ©   (2005-08-29 10:31) [5]

Вообще литературы для начинающих крайне мало. А вещь то нужная.


 
Brother   (2005-09-09 11:28) [6]

Эх, информация, вкликая вещь!
И тот силен у кого ее много! :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.042 c
2-1127097538
antikaban
2005-09-19 06:38
2005.10.16
Открытие файла


2-1126848784
Lady
2005-09-16 09:33
2005.10.16
Запрос


14-1127805936
pazitrton_brain
2005-09-27 11:25
2005.10.16
Петиция.


1-1127395108
keal
2005-09-22 17:18
2005.10.16
Исходники ядра браузера


2-1127283609
Гость22
2005-09-21 10:20
2005.10.16
вопрос о связывании таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский