View Issue Details

IDProjectCategoryView StatusLast Update
0038574FPCFCLpublic2021-03-14 16:41
Reportersimone Assigned ToMichael Van Canneyt  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionno change required 
PlatformLinux 
Product Version3.2.0 
Summary0038574: SimpleIPC problem under Linux
DescriptionI have attached two GUI programs that exchange messages. Under Windows everything works, under Linux messages are not sent. Thank you.
TagsNo tags attached.
Fixed in Revision
FPCOldBugId
FPCTarget-
Attached Files

Activities

simone

2021-03-02 21:11

reporter  

IPC 2Way.zip (259,165 bytes)

Michael Van Canneyt

2021-03-14 16:41

administrator   ~0129661

 On Windows, the messages are sent to the applications through the windows message pump.
As such, they are caught by the application message loop.

On linux, this is not the case, and you must manually check for messages.

You can do this with the TApplication OnIdle event handler:

Application.OnIdle:=@DoIdleMessage;

(you could also use a timer if you prefer that)

and

procedure TMainForm.DoIdleMessage(Sender: TObject; var Done: Boolean);
begin
  Prog2server.PeekMessage(10,True);
end;

Obviously, something similar must be done in program 1 for prog1server.

After that, it will work (tested on mac and linux)

Issue History

Date Modified Username Field Change
2021-03-02 21:11 simone New Issue
2021-03-02 21:11 simone File Added: IPC 2Way.zip
2021-03-04 13:34 Michael Van Canneyt Assigned To => Michael Van Canneyt
2021-03-04 13:34 Michael Van Canneyt Status new => assigned
2021-03-14 16:41 Michael Van Canneyt Status assigned => resolved
2021-03-14 16:41 Michael Van Canneyt Resolution open => no change required
2021-03-14 16:41 Michael Van Canneyt FPCTarget => -
2021-03-14 16:41 Michael Van Canneyt Note Added: 0129661