Посл.ответ |
Сообщение |
Ранг: 681.5 (! !), 405thx Активность: 0.42↘0.21 Статус: Участник ALIEN Hack Team
|
Создано: 12 апреля 2007 13:42 · Личное сообщение · #1
Всем hi, народ, подскажите, как рашеть проблему с делфями. Дело в том, что при вызове АПИ функций глобальные переменные тупо затираются, что, в общем-то, нежелательно. Что делать?
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: |
|
Ранг: 793.4 (! !), 568thx Активность: 0.74↘0 Статус: Участник Шаман
|
Создано: 12 апреля 2007 13:49 · Личное сообщение · #2
???
Можно подробнее, пример кода и т.д. АПИ функции никак не могут затереть глобальные переменные, как и локальные если не захочишь
----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: |
Ранг: 681.5 (! !), 405thx Активность: 0.42↘0.21 Статус: Участник ALIEN Hack Team
|
Создано: 12 апреля 2007 13:55 · Личное сообщение · #3
PE_Kill
...\поскипано
filehandle:=GetFileHandle(fileName);
MessageboxA(0,'Name',fileName,MB_OK);
...//поскипано
function GetFileHandle(fileName:PChar):Cardinal;
begin
result:=CreateFileA(fileName,...//ну, дальше сам допиши, думаю, суть ясна);
end;
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: |
Ранг: 240.5 (наставник) Активность: 0.19↘0 Статус: Участник Author of ACKiller
|
Создано: 12 апреля 2007 14:21 · Личное сообщение · #4
ARCHANGEL
И что у тебя здесь затирается? fileName затираться не может...
| Сообщение посчитали полезным: |
Ранг: 681.5 (! !), 405thx Активность: 0.42↘0.21 Статус: Участник ALIEN Hack Team
|
Создано: 12 апреля 2007 14:23 · Личное сообщение · #5
HoBleen
Может, и не может, однако, собака, затирается. Под Олькой смотрел - его значение копируется в ESI из EAX, а потом оба прекрасно затираются, и messageboxa нихрена не показывает
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: |
Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник
|
Создано: 12 апреля 2007 14:32 · Поправил: Ara · Личное сообщение · #6
хз, специально скомпилял тока что проект с предложенным кодом - ничего не затирается.
ЗЫ: компилял в дельфи 7
| Сообщение посчитали полезным: |
Ранг: 54.0 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 12 апреля 2007 14:46 · Личное сообщение · #7
Ничего не затирается, проверяй:
const
NameOfFile = 'C:\Hacker\Tools\Necessary\brain.vxd';
//======
procedure TForm1.Button1Click(Sender: TObject);
function GetFileHandle(fileName:PChar):Cardinal;
begin
result:=CreateFileA(fileName,GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
end;
var
FileName: PChar;
FileHandle: Cardinal;
begin
FileName := PChar(NameOfFile);
Filehandle:=GetFileHandle(fileName);
MessageboxA(0,fileName,'Name',MB_OK);
//CloseHandle(filehandle);
end;
| Сообщение посчитали полезным: |
Ранг: 793.4 (! !), 568thx Активность: 0.74↘0 Статус: Участник Шаман
|
Создано: 12 апреля 2007 14:48 · Личное сообщение · #8
ARCHANGEL попробуй сделать fileName типа String, а там где надо PChar вызывай PChar(fileName)
----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 12 апреля 2007 15:00 · Личное сообщение · #9
> , а там где надо PChar вызывай PChar(fileName)
имхо красивее @fileName[1] ;)
----- Shalom ebanats! | Сообщение посчитали полезным: |
Ранг: 793.4 (! !), 568thx Активность: 0.74↘0 Статус: Участник Шаман
|
Создано: 13 апреля 2007 06:23 · Личное сообщение · #10
SLV пишет:
имхо красивее @fileName[1] ;)
Кому как, мне наоборот...
----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 13 апреля 2007 08:49 · Личное сообщение · #11
PE_Kill, лучше самому задавать адреса, чем полагаться на приведение типов компилятором имхо
----- Shalom ebanats! | Сообщение посчитали полезным: |
Ранг: 85.4 (постоянный) Активность: 0.08↘0 Статус: Участник
|
Создано: 13 апреля 2007 09:15 · Личное сообщение · #12
SLV пишет:
чем полагаться на приведение типов компилятором
А есть примеры проблем с привидением типов компилятором? Помоему он сам всё неплохо приводит
----- radio uno in ibisa ... | Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 13 апреля 2007 09:33 · Личное сообщение · #13
так как я написал проще отлаживать код :P
----- Shalom ebanats! | Сообщение посчитали полезным: |
Ранг: 793.4 (! !), 568thx Активность: 0.74↘0 Статус: Участник Шаман
|
Создано: 13 апреля 2007 10:04 · Поправил: PE_Kill · Личное сообщение · #14
SLV чем проще?
----- Yann Tiersen best and do not fuck | Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 13 апреля 2007 12:16 · Личное сообщение · #15
PE_Kill, ну если задача другая... например надо обратиться к N'ной букве... там индекс если перепутаешь... в общем моё мнение так лучше...
----- Shalom ebanats! | Сообщение посчитали полезным: |