![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
Цитата:
Скорее всего заморочки с Ansi vs Unicode. Если ты работаешь с AnsiString, то надо использовать соотв. PAnsiChar. по поводу чистки блока - используй FillChar, заполняй #0 |
|
#17
|
|||
|
|||
|
Код:
function LoadFile:string;
var
MemoryFile,buffer: TMemoryStream;
begin
MemoryFile := TMemoryStream .Create;
try
MemoryFile.LoadFromFile('test.txt');
result:=inttostr(MemoryFile.Size);
finally
MemoryFile.Free;
end;
end;![]() |
|
#18
|
|||
|
|||
|
DLL
Код:
function LoadFile:TMemoryStream;
var
MemoryFile: TMemoryStream;
begin
MemoryFile := TMemoryStream .Create;
try
MemoryFile.LoadFromFile('test.txt');
result:=MemoryFile;
finally
MemoryFile.Free;
end;
end;Код:
procedure TForm1.Button1Click(Sender: TObject); var Memory: TMemoryStream; begin Memory := TMemoryStream .Create; try Memory.LoadFromStream(LoadFile); memo1.Lines.LoadFromStream(Memory); finally Memory.Free; end; end; ![]() |
|
#19
|
|||
|
|||
|
Конечно пустое. Ты же убиваешь объект перед выходом из процедуры...
|
|
#20
|
|||
|
|||
|
DLL
Код:
function LoadFile:TMemoryStream;
var
MemoryFile: TMemoryStream;
begin
MemoryFile := TMemoryStream .Create;
try
MemoryFile.LoadFromFile('test.txt');
result:=MemoryFile;
finally
showmessage('ok');//MemoryFile.Free;
end;
end;Код:
memo1.Lines.LoadFromStream(LoadFile); с Memory то работает и нет глюков.а ничего страшного, что MemoryFile.Free; = этого нет? и потом куда его воткнуть? MemoryFile.Free; ???? ![]() |
|
#21
|
|||
|
|||
|
Сделай в dll дополнительный вызов, который будет уничтожать объект.
|
|
#22
|
|||
|
|||
|
да, сделал уже if size>=124kb then LoadFile('delete');
мне бы научится buffer [0..buffer-1]:array через dll |