Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Преобразование   Найти похожие ветки 

 
Veace$lav ©   (2004-01-10 16:48) [0]

Как преобразовать "String" and "PAnsiChar"
Дельфя выдаёт -[Error] Unit1.pas(71): Incompatible types: "String" and "PAnsiChar"


 
Burmistroff   (2004-01-10 16:53) [1]

s: string
p: pchar;

p:=pchar(s);
можно и экзотически: p:=@s[1];


 
YuRock ©   (2004-01-10 19:14) [2]

Надо делать так (если хотите, чтоб работало):


...
begin
 p := StrAlloc(Length(s) + 1);
 StrPCopy(p, s);
 
 // Потом нужно обязательно:
 StrDispose(p);
end;
...


 
VMcL ©   (2004-01-11 04:11) [3]

>>Veace$lav ©  (10.01.04 16:48)

Итоги подведем:

Если требуемый PChar - только для чтения, тогда Burmistroff  (10.01.04 16:53) [1].
Если же в него может понадобиться что-нибудь записать, то или YuRock ©  (10.01.04 19:14) [2] или вот так:

var
 S: String;
// ...
SetLength(S, MaxLengthThatCanBeUsedInFunction);
Func(..., PChar(S), ...);
SetLength(S, StrLen(S));


 
VMcL ©   (2004-01-11 04:13) [4]

Ой, sorry, глюканул.

var
S: String;
// ...
SetLength(S, MaxLengthThatCanBeUsedInFunction);
Func(..., PChar(S), ...);
SetLength(S, StrLen(PChar(S)));


 
Veace$lav ©   (2004-01-11 13:06) [5]

Всем Спасибо!!!



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

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
11-1056787944
mox
2003-06-28 12:12
2004.03.28
Icon


1-1078909890
MadGhost
2004-03-10 12:11
2004.03.28
как в функцию передать переменную по ссылке?


3-1074854174
VolanD2002
2004-01-23 13:36
2004.03.28
DBGrid


4-1074440872
xamlo
2004-01-18 18:47
2004.03.28
работа с реестром?


6-1073970178
Andrey V.
2004-01-13 08:02
2004.03.28
Unable to complete network ...