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

Вниз

Как сделать функцию получающую в виде параметра ссылку на структу   Найти похожие ветки 

 
besen-ok   (2004-04-07 17:51) [0]

Как сделать функцию получающую в виде параметра ссылку на структу и заполняющую ее ?
Пыпаюсь делать след обрагидм

procedure GetMeansList (curADOConnection:TADOConnection;curMList:LLIST);

Основаня процедура:
LLIST (ранее описанная структура)
var
 LinkList:LLIST;
begin
.
.
.
GetMeansList (curADO,LinkList);
Так вот после отработки подпрограммы GetMeansList в LinkList как будто ничего и небыло !


 
Тимохов ©   (2004-04-07 17:52) [1]

много пропущено кода но, рискну предположить, что LList это record, тогда нужно перед curMList в описании процедуры поставить var


 
pavia   (2004-04-07 17:54) [2]

procedure GetMeansList (var curADOConnection:TADOConnection;curMList:LLIST);


 
Тимохов ©   (2004-04-07 17:55) [3]

не тут


 
besen-ok   (2004-04-07 18:12) [4]

Да там был именно рекорд ?
Спасибо заработало ! Хотел еще кое что уточнить, т.е. если мне нужно передавать что то в процедуру или функию параметьром и внутри этой процедуры менять этот параметр, то писывается должно через var имя параметра ? (тогда как бы в процедуру попадает указатель на переменную и не копия переменной) ?


 
Семен Сорокин ©   (2004-04-07 18:14) [5]

besen-ok   (07.04.04 18:12) [4]
type
 PLIST = ^LLIST;

и передавай PLIST, тогда можно без var


 
Тимохов ©   (2004-04-07 18:19) [6]


> besen-ok   (07.04.04 18:12) [4]

"параметр" - понятие растяжимое.
Если имеется в виду record, то нужно либо писать var либо воспользоваться советом 5.
Если имеется в виду простой тип (число, строка) то нужно делать также.
Если имеется в виду объект, то var не нужен - т.к. объект это и уже есть указатель, просто вы этого явно в коде не видете...


 
WebErr ©   (2004-04-07 18:19) [7]


> Семен Сорокин ©   (07.04.04 18:14) [5]

Можно и так, но зачем!
Всё равно создаётся переменная указателя, под которую выделяется память, если использовать var то это будет уже ссылка, где переменная просто получит имя, а адрес возьмёт  уже существующей переменной! :))))
И вообще всё это странно попахивает Сёй, когда есть С++ и Delphi!


 
WebErr ©   (2004-04-07 18:21) [8]


> Тимохов ©   (07.04.04 18:19) [6]

А чем record не простой тип? :))))


 
Тимохов ©   (2004-04-07 18:23) [9]


> WebErr ©   (07.04.04 18:21) [8]

открываем хелп
object pascal reference
data types
structured types и simple types.

Правда по этой логике строки тоже не простые типы...


 
WebErr ©   (2004-04-07 18:29) [10]


> Тимохов ©   (07.04.04 18:23) [9]

Буквоед! :))))


 
Anatoly Podgoretsky ©   (2004-04-07 18:45) [11]

Тимохов ©   (07.04.04 18:23) [9]
Правильно string это ключевое слово, в отличии от Integer


 
WebErr ©   (2004-04-07 18:50) [12]

А array - это простой тип?! :))))


 
Тимохов ©   (2004-04-07 18:52) [13]


> Anatoly Podgoretsky ©   (07.04.04 18:45) [11]

Не объясните почему. Никогда этого не понимал.


 
WebErr ©   (2004-04-07 18:55) [14]


> Тимохов ©   (07.04.04 18:52) [13]

Потому, что это больше record, чем array.
Посудите сами:
S: String;
S[0] - длина строки (короткой)
S[i] - символы 1<=i<=Length(S)



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

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

Наверх





Память: 0.47 MB
Время: 0.042 c
11-1065294540
Wiz@rd
2003-10-04 23:09
2004.04.25
KolWebBrowser


4-1077798972
DennisLNC
2004-02-26 15:36
2004.04.25
Drag&amp;Drop на WinAPI


3-1080786529
chtr
2004-04-01 06:28
2004.04.25
Как переключить схему авторизации в MSSQL?


14-1080925674
SergP
2004-04-02 21:07
2004.04.25
Что за прикол такой?


7-1078041318
sss
2004-02-29 10:55
2004.04.25
NT service





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