Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2009, 13:41   #11
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
Сначала запускай test2 и жми создать,
Был обруган по матери брандмауэром.

Открыл Project1 и меня теперь послал Дельфи, заявив, что "Class TClientSocked not found... Ignore/Cancel/IgnoreAll"
Аналогично пример 2, но теперь уже сам сервер.
Но за пример все-равно спасибо.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 04.10.2009 в 13:43.
Alex Cones вне форума Ответить с цитированием
Старый 04.10.2009, 13:46   #12
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Надо установить сокеты
Для этого есть в папке bin: dclsockets70.bpl
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 04.10.2009, 15:05   #13
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

А чем WM_COPYDATA не устраивает?
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 04.10.2009, 15:06   #14
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

??? А поподробней?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 04.10.2009, 15:20   #15
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Сервер
Код:
program serv;

{$APPTYPE CONSOLE}

uses
  Windows,
  Messages;

var
  ClientWindow : HWND;
  str : String;
  CopyData : TCopyDataStruct;
begin
  ClientWindow := FindWindow('TmyClientWindow', 'myClientWindow');
  if ClientWindow = 0 then exit;
  while str <> 'exit' do
  begin
    ReadLn(str);
    str := Str + #0;
    CopyData.cbData := length(str) * SizeOf(char);//размер копируемых данных
    CopyData.dwData := 0;//Если нужно передавать больше 4гб
    CopyData.lpData := Pchar(str);//указатель на копируемые данныеы
    SendMessage(ClientWindow, WM_COPYDATA, 0, Integer(@CopyData));//посылаем окну (обязательно через SendMessage)
  end;
end.
Клиент
Код:
unit clMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TmyClientWindow = class(TForm)
    Memo1: TMemo;
  private
    { Private declarations }
  public
    { Public declarations }
  protected
    procedure WMCopyData(var msg : TWMCopyData); message WM_COPYDATA;
  end;

var
  myClientWindow: TmyClientWindow;

implementation

{$R *.dfm}

procedure TmyClientWindow.WMCopyData(var msg: TWMCopyData);
var
  PStr : Pointer;
begin
  //Получаем ту же структуру что и послали
  pStr := msg.CopyDataStruct^.lpData;
  //Можно скопировать данные заня их размер и указатель
  //Но для строки можно и так
  Memo1.Lines.Add(PChar(PStr));
end;

end.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 04.10.2009, 15:20   #16
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Сервер
Код:
program serv;

{$APPTYPE CONSOLE}

uses
  Windows,
  Messages;

var
  ClientWindow : HWND;
  str : String;
  CopyData : TCopyDataStruct;
begin
  ClientWindow := FindWindow('TmyClientWindow', 'myClientWindow');
  if ClientWindow = 0 then exit;
  while str <> 'exit' do
  begin
    ReadLn(str);
    str := Str + #0;
    CopyData.cbData := length(str) * SizeOf(char);//размер копируемых данных
    CopyData.dwData := 0;//Если нужно передавать больше 4гб
    CopyData.lpData := Pchar(str);//указатель на копируемые данныеы
    SendMessage(ClientWindow, WM_COPYDATA, 0, Integer(@CopyData));//посылаем окну (обязательно через SendMessage)
  end;
end.
Клиент
Код:
unit clMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TmyClientWindow = class(TForm)
    Memo1: TMemo;
  private
    { Private declarations }
  public
    { Public declarations }
  protected
    procedure WMCopyData(var msg : TWMCopyData); message WM_COPYDATA;
  end;

var
  myClientWindow: TmyClientWindow;

implementation

{$R *.dfm}

procedure TmyClientWindow.WMCopyData(var msg: TWMCopyData);
var
  PStr : Pointer;
begin
  //Получаем ту же структуру что и послали
  pStr := msg.CopyDataStruct^.lpData;
  //Можно скопировать данные заня их размер и указатель
  //Но для строки можно и так
  Memo1.Lines.Add(PChar(PStr));
end;

end.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 04.10.2009, 15:26   #17
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Благодарю, буду сидеть, разбираться.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача переменной в EXE Evgen1503 Общие вопросы Delphi 6 03.05.2010 15:56
Узнать скрыта ли форма unit-85 Общие вопросы Delphi 15 25.08.2009 09:38
из .exe TBitMap передать в DLL(форма) lexaltd Мультимедиа в Delphi 13 14.07.2009 17:47
чтение из одного exe файла, и запись в другой exe inndim Общие вопросы Delphi 2 04.02.2009 15:23
Передача файлов(exe) при помощи TCPServer и TCPClient Air Работа с сетью в Delphi 6 26.12.2008 23:26