Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Значение формальных и фактических параметров различается!!!!!!!!!   Найти похожие ветки 

 
Dust ©   (2005-10-13 14:28) [0]

function calc_addr (const pd : Pointer; const shift1, shift2 : dword) : Pointer;
Procedure Retrive_chars (const pdata : Pointer; const shift : dword; const pstr : Pchar; var ln : byte);

implementation
Procedure Retrive_chars (const pdata : Pointer; const shift : dword; const pstr : Pchar; var ln : byte);
begin
 if ln = 0 then
  begin
   while Byte(calc_addr(pdata,shift,ln)^) <>0 do
   begin  pstr[shift-ln]:=Char(calc_addr(pdata, Shift, ln)^); inc(ln);   end;
  end
 else
  CopyMemory (pstr, calc_addr(pdata,shift,ln), ln);
 pstr[ln]:=#0;
 pstr[ln+1]:=#0;
end; //Procedure Retrive_chars

function calc_addr (const pd : Pointer; const shift1, shift2 : dword) : Pointer;
begin
Result :=Pointer(dword(pd)+shift1+shift2);
end;


вызов:

...
       DataLn:=0; Retrive_chars (cmd, Shift, Source_addr, DataLn);
       inc (Shift, DataLn+1);
...

На вход процедуры я подаю одно значение (cmd) а внути процедуры значение указателя совсем другое точнее он вообще на потолок показывает.... :(((
в отладчике: передача параметра pdata происходит через регистр EAX.
что делать как с этим бороться????


 
Digitman ©   (2005-10-13 14:35) [1]

для начала приведи текст декларации идент-ра cmd


> передача параметра pdata происходит через регистр EAX.


и что в том удивительного ?


> что делать как с этим бороться????


с чем ? с передачей 1-го параметра через EAX ?


 
Dust ©   (2005-10-13 14:41) [2]

2 Digitman
декларация, как ты и просил:
Function TServiceShortMessage.SMSfrom_deliver_smCMD (const cmd : Pointer; const size : DWORD): pData_from_deliver_sm;
>с чем ? с передачей 1-го параметра через EAX ?
с различием значений формальных и фактических параметров


 
Dust ©   (2005-10-13 14:47) [3]

Может быть я что-то не знаю, или чего-то не понимаю?
логика подсказывает что такого быть не может...
ктонибудь уже с таким сталкивался?


 
Digitman ©   (2005-10-13 15:00) [4]


> декларация, как ты и просил


я просил декларацию ФАКТИЧЕСКОГО параметра, который у тебя передается в кач-ве формального cmd-параметра метода SMSfrom_deliver_smCMD ..

мало ли какой указатель (и на что он указывает) ты фактически передаешь этим параметром ! .. это ж нужно видеть, прежде чем какие-то умозаключения делать) ...


> с различием значений формальных и фактических параметров


у формального параметра нет никаких "значений" - у него есть лишь имя и тип

значение же есть только у факт.параметра


 
Dust ©   (2005-10-13 15:08) [5]

всё, спасибо
ТЕМА ЗАКРЫТА
я чуть чуть раньше портил память....
прошу прощенья за беспокойство


 
Dust ©   (2005-10-13 15:21) [6]

и в функции к тому же ошибка...



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

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1129546319
integery
2005-10-17 14:51
2005.11.06
как узнать чем запущен ActiveX cscript.exe или wscript.exe


3-1127887190
novikova
2005-09-28 09:59
2005.11.06
I/O Error 53 - что это?


14-1129567066
ArtemESC
2005-10-17 20:37
2005.11.06
Эффективный алгоритм


14-1128692981
oldman
2005-10-07 17:49
2005.11.06
Старая задачка (пятница все-таки)


3-1127459903
Леди
2005-09-23 11:18
2005.11.06
Что за ошибка? Command contains unrecognized phrase/keyword.