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

Вниз

Вопрос по работе с Move   Найти похожие ветки 

 
Walter White   (2014-05-15 11:23) [0]

Нужно ли Buf в Move приводить к PChar?


var
 S1, S2: string;
 Buf: Pointer;
begin
 S1 := "test";
 GetMem(Buf, 255);
 try
   Move(PChar(S1)^, PChar(Buf)^, 255); // <- PChar(Buf)^ ?
   S2 := PChar(Buf);
 finally
   FreeMem(Buf);
 end;


или можно:


Move(PChar(S1)^, Buf^, 255);


 
RWolf ©   (2014-05-15 11:30) [1]

S2 := S1;
UniqueString(S2);

не?


 
brother ©   (2014-05-15 11:38) [2]

чего сделать то хотите?


 
Walter White   (2014-05-15 12:15) [3]


> RWolf ©   (15.05.14 11:30) [1]
> S2 := S1;
> UniqueString(S2);
> не?
>
> brother ©   (15.05.14 11:38) [2]
> чего сделать то хотите?


пишу наследника TDataSet, в нем перегружаю метод GetFieldData(Field: TField; Buffer: Pointer): Boolean;

для FieldType = ftString нужно в Buffer записать строку. Как это правильно сделать? Делаю так:

Move(PChar(SL[Field.Index])^, PChar(string(Buffer))^, 255);

Работает, но есть сомнения.


 
MBo ©   (2014-05-15 13:22) [4]

Промежуточное приведение к string лишнее.


 
Cobalt ©   (2014-05-16 11:20) [5]

Не верьте коду, найденному "в интернетах" - там 90% говнокод.

Пока не разъясните, зачем нужно приведение к PChar - не делайте так.


 
Dimka Maslov ©   (2014-05-16 16:33) [6]

А ещё почему именно 255?



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

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

Наверх




Память: 0.47 MB
Время: 0.005 c
15-1424381404
Юрий
2015-02-20 00:30
2015.10.04
С днем рождения ! 20 февраля 2015 пятница


15-1424208601
Юрий
2015-02-18 00:30
2015.10.04
С днем рождения ! 18 февраля 2015 среда


15-1423203208
KSergey
2015-02-06 09:13
2015.10.04
Что есть "виртуальная машина"


15-1423863064
Юрий
2015-02-14 00:31
2015.10.04
С днем рождения ! 14 февраля 2015 суббота


4-1273682403
zamtmn
2010-05-12 20:40
2015.10.04
в SysTreeView32 не приходит WM_CONTEXTMENU