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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.09 c
5-1101036755
Ilg
2004-11-21 14:32
2005.11.06
Простейший Редактор свойств


14-1129479361
copy
2005-10-16 20:16
2005.11.06
Проблема. Копирование DVD


2-1129400637
_root
2005-10-15 22:23
2005.11.06
Exit для другой части


14-1129705139
WondeRu
2005-10-19 10:58
2005.11.06
Идиотские баги известных программ...


3-1127744907
Malamba
2005-09-26 18:28
2005.11.06
запрос с параметрами вымахивается





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский