本文详细介绍Delphi开发基于DCOM的聊天室
实现部分:
function TChatManager.ReadFrom(sourceid: Integer): IStrings;
var
TempRoom:TChatRoom;
begin
TempRoom:=ChatRoomManager.FindRoomByID(sourceid);
while TempRoom.Locked do
begin
//do nothing只是等待解锁
end;
GetOleStrings(TempRoom.OneRead,Result);
end;
procedure TChatManager.SpeakTo(const content: WideString; destid: Integer);
var
TempRoom:TChatRoom;
begin
TempRoom:=ChatRoomManager.FindRoomByID(destid);
while TempRoom.Locked do
begin
//do nothing只是等待解锁
end;
TempRoom.OneSpeak(content);
end;
function TChatManager.ReadReady(id: Integer): Byte;
var
TempRoom:TChatRoom;
begin
TempRoom:=ChatRoomManager.FindRoomByID(id);
if TempRoom.CanRead then result:=1 else Result:=0;
end;
procedure TChatManager.ConnectRoom(const UserName: WideString;
RoomID: Integer);
//客户端通过接口登陆到指定的房间,没有完全实现
var
TempRoom:TChatRoom;
begin
TempRoom:=ChatRoomManager.FindRoomByID(RoomID);
TempRoom.LoginRoom(UserName);
end;
procedure TChatManager.DisconnectRoom(const UserName: WideString;
RoomID: Integer);
//客户端通过接口离开指定的房间,没有完全实现
var
TempRoom:TChatRoom;
begin
TempRoom:=ChatRoomManager.FindRoomByID(RoomID);
TempRoom.LeaveRoom(UserName);
end;
function TChatManager.TestClearBufferTag(RoomID: Integer): Integer;
var
TempRoom:TChatRoom;
begin
TempRoom:=ChatRoomManager.FindRoomByID(RoomID);
result:=TempRoom.ClearBufferTag;
end;
initialization
TAutoObjectFactory.Create(ComServer, TChatManager, Class_ChatManager,
ciMultiInstance, tmApartment);
end.
作者:hkbarton 责编:豆豆技术应用
- Delphi新闻
- Delphi教程
- Delphi 7.0
- Delphi 2007
- Delphi控件
- Delphi网络编程
- Delphi for php
- Delphi界面/视图
- Delphi系统控制
- Delphi数据库
- Delphi源码下载