|
#1
|
|||
|
|||
Pchar и string
Проблема такая - есть переменная bf типа Pchar, которая указывает на массив байт. Если сделать так, то все выводится нормально
Код:
Memo1.Lines.Add(bf) Код:
t:=String(Buf); Memo2.Lines.Add(t); |
#2
|
||||
|
||||
Код:
t := bf; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
Ну, для чистоты, надо делать так:
Код:
t := StrPas(bf); |
#4
|
||||
|
||||
SysUtils.pas:
Код:
function StrPas(const Str: PChar): string; begin Result := Str; end; Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Всем большое спасибо...))
|
#6
|
|||
|
|||
Еще один вопрос...
Известно, что при создании dll не стоит использовать тип string. Это распостраняется на все функции и процедуры в dll или только на те, которые будут экспортироваться?
|
#7
|
||||
|
||||
Желательно на все, но я использовал и проблем не получал.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
|||
|
|||
Спасибо за ответ...
|
#9
|
|||
|
|||
А когда вы создаёте dll, то Delphi вам в шаблоне чёрным по белому пишет, что первый модуль в uses должен быть ShareMem "if your DLL exports any procedures or functions that pass strings as parameters or function results..." (если вы используете строки в качестве параметров или результатов экспортируемых функций).
|
#10
|
||||
|
||||
А мне ничего не пишет, я в FAR-е текст набираю.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |