関連記事
- Delphi5をWindows7 64ビット環境に突っ込んでみた 【2011年01月15日(土)】
- NET FRAMEWORKのソケット通信 【2010年11月30日(火)】
- 不具合じゃ不具合じゃ! 【2008年05月28日(水)】
- IXMLDOMNodeの検索PGサンプル 【2008年05月22日(木)】
- IXMLDOMDocumentのインスタンス 【2008年01月30日(水)】
TClientSocket.Socket.SendStream()へ渡す,TStreamのインスタンス
このインスタンス,解放動作はいらない模様
ヘルプにきっちり書いてあったり
-
注意 パラメータとして SendStream に渡されるストリームは,Windowsソケットオブジェクトの所有になります。Windowsソケットオブジェクトは,ストリーム処理を終了すると,ストリームを解放します。したがって,パラメータとして渡しても,解放しないでください。
なして,送信したとたん落ちるのか,小一時間ほど,ずっと悩んでた
メモリリークのチェッカも走らせて確認しましたが
リークは確認されませんでした
念のため,サンプルコード,書いておきますわん
//**********************************************
//ファイル送信の主処理
//
//**********************************************
function TSocketIO.SendFile : boolean;
var
sftm : TFileStream;
begin
if (FileExists(FXMLFileName) = false) then //ファイルが見つからない場合
begin
FError := soceFileNotFound;
Result := false;
exit;
end;
sftm := TFileStream.Create(FXMLFileName, fmOpenRead); //XMLファイルを開く
try
FClientSocket.Socket.SendStream(sftm); //ソケットで送信
finally
//sftm.Free; //ストリームを解放 <--これ,いらない模様
end;
FError := soceNon;
result := true;
end;
[/delphi]
コメント
【#緊急非常事態】スマホを紛失した!amazonで買ったカナビラがぶっ壊れてスマホが消えた!
「君たちはどう生きるか」「ゴジラ-1.0」アカデミー賞を受賞
昼から雨だそうな.人が洗車すると..ブツブツ
【訃報】TARAKOさん急死 63歳 「ちびまる子ちゃん」を35年
【#訃報】漫画家 鳥山明さん死去 68歳 「DRAGON BALL」などで人気
たぬきケーキの人気再燃 レトロな魅力、再販する店も
【#株価】日経平均株価 終値で初の4万円台 史上最高値を更新(24/3/4)
睡眠「成人は6時間以上」 新ガイドは日本人の眠りを変えられるか
再起動不要でWindows 11をアップデートする機能、2024年後半に導入か
【#確定申告】さて,税務も終わった件