Форум: "Основная";
Текущий архив: 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