![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по указателям.
-John-Doe- © (2007-01-09 11:04:00)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
ClientSocket1: TClientSocket;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TMemRec = record
ms:TMemoryStream;
index:integer;
end;
PMemRec = ^TMemRec;
var
Form1: TForm1;
f:pMemRec;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Open;
new(f);
f.ms:=TMemoryStream.Create;
f.index:=12321;
ClientSocket1.Socket.SendStream(f.ms) // (1)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage(inttostr(f.index));
f.ms.Free; // (2)
end;
end.
На строке (2) - EAV. Если убрать строку (1), то все нормально. index, например, правильно выводиться. Подскажите как все-таки очистить ms?
Плохиш (2007-01-09 11:18:00) [21]
> На строке (2) - EAV. Если убрать строку (1), то все нормально.
> index, например, правильно выводиться. Подскажите как все-
> таки очистить ms?
Прочитай хинт в справке по SendStream там всё описано...
Ega23 (2007-01-09 11:11:00) [22]
> Подскажите как все-таки очистить ms?
Обернуть TMemRec в класс.