Ver Mensaje Individual
  #1  
Antiguo 31-03-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.144
Reputación: 20
kurono Va por buen camino
porq mi aplicacion no se ejecuta en otra pc

hola amigos del foro tengo un problema acabo de hacer una especie de chat todo funciona bien pero el problema surge cuando lo ejecuto en otra pc me da error y no se ejecuta los componente que uso son tcpclient y tcpserver los cuales son componente nativo de delphi 7 el error que me tira es el siguiente
Código Delphi [-]
" error en la aplicacion porque no se encontro el archivo qtintf70.dll"
y a qui les dejo el codigo que utilizo


Código Delphi [-]
 
unit Chatmain;
interface
uses
  Classes, QControls, QStdCtrls, QExtCtrls, QButtons, QForms, Sockets;

type
  TForm1 = class(TForm)
    memRecv: TMemo;
    Panel1: TPanel;
    memSend: TMemo;
    Panel2: TPanel;
    btnSend: TButton;
    Panel3: TPanel;
    Label1: TLabel;
    edtRemoteHost: TEdit;
    Label2: TLabel;
    edtRemotePort: TEdit;
    Label3: TLabel;
    edtLocalPort: TEdit;
    btnActivateServer: TButton;
    TcpClient1: TTcpClient;
    TcpServer1: TTcpServer;
    procedure btnSendClick(Sender: TObject);
    procedure TcpServer1Accept(sender: TObject;
      ClientSocket: TCustomIpClient);
    procedure btnActivateServerClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  // you must create your own thread to synch
  // writing to a gui component
  TClientDataThread = class(TThread)
  private
  public
    ListBuffer :TStringList;
    TargetList :TStrings;
    procedure synchAddDataToControl;
    constructor Create(CreateSuspended: Boolean);
    procedure Execute; override;
    procedure Terminate;
  end;
var
  Form1: TForm1;
  //DataThread: TClientDataThread;
implementation
{$R *.xfm}
//------------- TClientDataThread impl -----------------------------------------
constructor TClientDataThread.Create(CreateSuspended: Boolean);
begin
  inherited Create(CreateSuspended);
  FreeOnTerminate := true;
  ListBuffer := TStringList.Create;
end;
procedure TClientDataThread.Terminate;
begin
  ListBuffer.Free;
  inherited;
end;
procedure TClientDataThread.Execute;
begin
  Synchronize(synchAddDataToControl);
end;
procedure TClientDataThread.synchAddDataToControl;
begin
 TargetList.AddStrings(ListBuffer);
end;
//------------- end TClientDataThread impl -------------------------------------

procedure TForm1.btnActivateServerClick(Sender: TObject);
begin
  TcpServer1.LocalPort := edtLocalPort.Text;
  TcpServer1.Active := True;
end;         
procedure TForm1.btnSendClick(Sender: TObject);
var
  I: Integer;
begin
  TcpClient1.RemoteHost := edtRemoteHost.Text;
  TcpClient1.RemotePort := edtRemotePort.Text;
  try
    if TcpClient1.Connect then
      for I := 0 to memSend.Lines.Count - 1 do
      TcpClient1.Sendln(memSend.Lines[i]);
  finally
    TcpClient1.Disconnect;
  end;
end;
procedure TForm1.TcpServer1Accept(sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: string;
  DataThread: TClientDataThread;
begin
  // create thread
  DataThread:= TClientDataThread.Create(true);
  // set the TagetList to the gui list that you
  // with to synch with.
  DataThread.TargetList := memRecv.lines;
  // Load the Threads ListBuffer
  DataThread.ListBuffer.Add('*** Connecion Aceptada ***');
  DataThread.ListBuffer.Add('Host Remoto: ' + ClientSocket.LookupHostName(ClientSocket.RemoteHost) +
   ' (' + ClientSocket.RemoteHost + ')');
  DataThread.ListBuffer.Add('===== Message =====');
  s := ClientSocket.Receiveln;
  while s <> '' do
  begin
    DataThread.ListBuffer.Add(s);
    s := ClientSocket.Receiveln;
  end;
  DataThread.ListBuffer.Add('=====Fin del Mensaje=====');
  // Call Resume which will execute and synch the
  // ListBuffer with the TargetList
  DataThread.Resume;
end;
end.
Responder Con Cita