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

Вниз

Char**   Найти похожие ветки 

 
old_mole   (2002-11-14 10:04) [0]

Есть DLL, есть source, у одной из функций есть параметер такого типа. Как "конвертировать" это в Delphi?


 
Внук   (2002-11-14 10:33) [1]

Не очень понятен вопрос. Если это параметр функции, можно переделать в
... var MyPar:PChar ...


 
old_mole   (2002-11-14 10:54) [2]

В том то и дело, что PChar дельфийский соответствует Char* сишному. Получается, что Char**, это массив PChar. Для того, чтобы, описать этот массив требуется указать ему граница. Динамический массив функция не принимает.


 
Внук   (2002-11-14 11:11) [3]

Более точно Char** - это указатель на PChar, что и достигается применением var. Но в каждом конкретном случае возможны варианты, конечно. Если нужен массив строк, может, проще использовать array of string. Или array of pchar и процедуру SetLength.
Почему динамический ассив не принимает? Должна...


 
old_mole   (2002-11-14 11:45) [4]

Не понял по поводу var. Всегда думал, что это "передача по ссылке", т.е. после отработки функции(процедуры) изменения останутся в силе.


 
Skier   (2002-11-14 11:50) [5]

>old_mole
IMHO, Char** = PPChar, где PPChar = ^PChar


 
Dimka Maslov   (2002-11-14 11:52) [6]

var означает, что в стек будет помещено не значение параметра, а его адрес, чем и достигается возможность изменения значения. Если же var тебе не подходит, то
char** эквивалентно паскалевскому ^PChar.


 
old_mole   (2002-11-14 11:53) [7]

Спасибо!


 
Smithson   (2002-11-14 12:12) [8]

var pC: Pchar - это действительно передача по ссылке. И действительно, в языках программирования (и C, и Паскаль) ссылка и указатель - это разные понятия. Но в реализациях и С, и Паскаль ссылка и есть указатель. Поэтому описание функции void c_func(... char** ...) эквивалентно procedure c_func (... var pC: Pchar ...)



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
1-82761
Z-Yuri
2002-11-11 11:26
2002.11.25
Подскажите формат файла


3-82630
Shen74
2002-11-05 18:11
2002.11.25
Дополнение к предыдущему вопросу


3-82671
mr.sender
2002-11-06 17:31
2002.11.25
InterBase 5.5 & BLOB


1-82846
SI-riuss
2002-11-14 12:30
2002.11.25
Печатаю из моей программы документ из нескольких листов.


1-82749
KME
2002-11-15 12:21
2002.11.25
Power Point





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