[Delphi] Komunikacja między aplikacjami.

0

Witam. Mam pytanie. Czy można i jak jeśli można zrobić takie cuś, żeby np. jedną aplikacją sterować drugą?

0

Poszukaj pod hasłem IPC (interprocess communication).

0

Mógłbyś jakiegoś linka dać? Nic nie znalazłem ;/

0

Jaja se robisz co nie. Bo jak ja z ciekawości wpisałem w googlach http://www.google.pl/search?a[...]on%22&btnG=Szukaj&lr=

To znalazłem 3 darmowe komponenety, Broadcast, Pipe i simpleIPC które mogą być przydatne.
Google nie gryzie.

0

A jakiś link do tego simpleIPC?
szukałem, ale nic nie znalazłem.

0

Jakbyś szukał, to nawet na Wikipedii byś znalazł: http://pl.wikipedia.org/wiki/IPC .

0

Chodziło mi o link do komponentu...

0

Wiem, udzieliłem Ci odpowiedzi na wcześniejsze "Mógłbyś jakiegoś linka dać?". IPC to cały zbiór mechanizmów a nie jedna technologia, więc po prostu zajrzyj tam, gdzie wskazałem.

0

No zajrzałem, ale prosiłbym o jakiś link do tego komponentu :)

0

Znaczy nie do końca wyciągnąłeś wnioski z tego, co czytasz.

Najprostsze sterowanie na przykładzie kolejki komunikatów:

  • aplikacja sterująca - akcja na przycisk:
    var
    lOkno: THandle;
    lResult: Integer;
    begin
    lOkno := FindWindow('TForm2', nil);
    if (lOkno <> 0) then begin
    lResult := SendMessage(lOkno, WM_USER, 1234, 5678);
    Caption := Format('%d', [lResult]);
    end;
    end;
  • aplikacja sterowana - całość kodu (ważne, że klasa okna to TForm2)
    
    unit Unit1;

interface

uses
Windows, Messages, Forms, SysUtils;

type
TForm2 = class(TForm)
public
procedure Akcja(var avMessage: TMessage); message WM_USER;
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Akcja(var avMessage: TMessage);
begin
Caption := Format('%d, %d', [avMessage.WParam, avMessage.LParam]);
avMessage.Result := avMessage.LParam - avMessage.WParam;
end;

end.



.. i tyle. Jedna aplikacja przesyła dwie liczby, druga odpowiada, zwracając ich różnicę. Odpalasz obie i klikasz przycisk. To najprostszy sposób komunikacji 1 do 1 (rozwiązywanie kwestii, gdy masz kilka okien o klasie TForm2 pozostawiam Tobie).

Nauka nie polega na czytaniu, ale na czytaniu i poszerzaniu wiedzy. Dałem Ci arta o IPC. Powinieneś go przeczytać, dowiedziałbyś się, że istnieje takie coś jak mutex i można to wykorzystać do tego i tego. Potem zajrzałbyś do tutorialka/google/helpa pod to hasło i poznał główne funkcje a często i całe przykłady. Na tym polega nauka..

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0