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

Вниз

Вопрос по работе с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
4-1273660908
mick912
2010-05-12 14:41
2015.10.04
Защита информации


15-1424122299
Юрий
2015-02-17 00:31
2015.10.04
С днем рождения ! 17 февраля 2015 вторник


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


15-1422180830
AndrewAndrey
2015-01-25 13:13
2015.10.04
Ошибка при запуске приложения 0xc0000005


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





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