![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PChar в качестве параметра-переменной [D5, WinXP]
Kotyara © (2005-03-08 23:34:00)Помогите разобраться, люди добрые!
Значица так. Была функция
ChangePassword(var APwd: string): Boolean;
Надумал я ее в Dll запихнуть. Для Dll необходимо заменить тип string на PChar, получаем:
ChangePassword(APwd: PChar): Boolean;
Теперь текст функции (частично):
...
ChangePwdForm.PwdEdit.Text := string(APwd);
// в строку редактирования будет скопирован текст, на который указывает APwd.
...
APwd := PChar(ChangePwdForm.PwdEdit.Text);
// а вот теперь APwd будет указывать не на прежнуюю измененную строку, а на совершенно новую!!! (то есть на ту, куда он был ранее скопировано содержимое и затем изменено)
Вопрос: как мне заставить функцию изменить строку на которую указывает APwd на входе и вернуть изменения? Я уже совершенно запутался в этих преобразованиях.
Заранее благодарен!
Erik1 (2005-03-09 10:23:00) [1]Есть целое семейство функций работающих с PChar. StrPos, StrPCopy, StrLen и пр..
Anatoly Podgoretsky (2005-03-09 00:02:00) [2]ChangePassword(APwd: PChar: Len:Integer): Boolean;
Возвращаешь обратно в APwd, размер должен быть достаточный
SammIk (2005-03-09 00:01:00) [3]copymemory(pcharOld,pcharNew,sizeOfSting)