Как отправить короткую строку из приложения Visual Basic в приложение Delphi? - PullRequest
1 голос
/ 05 апреля 2011

Мне нужно отправить короткую строку (менее 30 байт, но отправляется каждую секунду) из одного приложения VB в приложение Delphi ... возможно ли это, используя функции CopyDataStruct, WM_COPYDATA и SendMessage в Windows?

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Я бы сказал, что WM_COPYDATA - идеальный способ сделать это.Вам просто нужно получить основную форму Delphi, скажем, для реализации обработчика сообщений для WM_COPYDATA.

В конце Delphi это выглядит примерно так:

TMyMainForm = class(TForm)
protected
  procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
end;

procedure TMyMainForm.WMCopyData(var Msg: TWMCopyData);
begin
  //do something with Msg.lpData
end;

Ваш VB код потребуетсячтобы получить дескриптор окна вашей главной формы Delphi.

0 голосов
/ 06 апреля 2013

Звучит так, как будто вы будете использовать DDE.Другой способ - записать строку во временную область реестра, а затем вызвать другую программу, чтобы прочитать ее и удалить временный ключ реестра после завершения.Вы также можете передать строку в качестве параметра в командной строке и просто выполнить программу.

...