AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IPC zwischen zwei Programmen

Ein Thema von Digielm · begonnen am 18. Okt 2010 · letzter Beitrag vom 19. Okt 2010
 
Digielm

Registriert seit: 2. Aug 2006
246 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: IPC zwischen zwei Programmen

  Alt 18. Okt 2010, 16:02
Ich weiß nicht wie aber ich hab hier mal ein Source Beispiel von C#

Würde das gerne so oder so ähnlich umsetzen.

Code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using Remoteable;

namespace IPCChannelRemoting
{
    /// <summary>
    /// Remote Objekt ermöglicht der GN Server Config GUI den Status Abruf der
    /// GN Servers über den IPC Channel.
    /// </summary>
    public class RemoteObj : MarshalByRefObject,
            ISharedAssemblyInterface
    {
        /// <summary>
        /// Konstruktor
        /// </summary>
        public RemoteObj()
        {

        }

        /// <summary>
        /// Ruft den aktuellen Status der angemeldeten GN User ab.
        /// Jeder User wird in eine string Array gespeichert.
        /// Die Gesamtheit aller User in einer ArrayList.
        /// </summary>
        /// <returns>ArrayList mit GN-UserInfos</returns>
        public ArrayList GetUserList()
        {
            ArrayList result = new ArrayList();
            foreach (ClientInfo client in MainClass.TCPServer.ClientList)
            {
                string[] values = new string[7];
                values[0] = client.Line;
                values[1] = client.strName;
                values[2] = client.socket.RemoteEndPoint.ToString();
                values[3] = client.Status.ToString("G");
                values[4] = client.CallHandle.ToString();
                values[5] = client.Number;
                values[6] = client.Direction.ToString();
                result.Add(values);
            }
            return result;
        }

        /// <summary>
        /// Ruft den aktuellen Stand der TAPI-Lines ab.
        /// Jede TAPI Line wird in einem string Array gespeichert. Die
        /// Gesamtheit alle Lines wird in einer ArrayList gespeichert.
        /// </summary>
        /// <returns>ArrayList mit den TAPI Line Infos</returns>
        public ArrayList GetLines()
        {
            ArrayList result=new ArrayList();
            TAPILines tapiLines = frmMain.TAPILinesList;
            foreach (TAPILine tl in tapiLines.TapiLinesList)
            {
                string[] values = new string[8];
                values[0] = tl.AddressName;
                values[1] = tl.DeviceName;
                values[2] = tl.GWUserName;
                values[3] = tl.CallActive.ToString();
                values[4] = tl.CallHandle.ToString();
                values[5] = tl.CallCalledID;
                values[6] = tl.CallCallerID;
                values[7] = tl.CallBegan;
                result.Add(values);
            }
            return result;
        }

        /// <summary>
        /// Test Methode um IPC Verbindung zu testen.
        /// </summary>
        /// <returns></returns>
        public string GetTest()
        {
            return "Test";
        }
    }
}

namespace Remoteable
{
    /// <summary>
    /// Interface für das Remote Objekt der IPC Verbindung.
    /// </summary>
    public interface ISharedAssemblyInterface
    {
        ArrayList GetUserList();
        ArrayList GetLines();
        string GetTest();
    }
}
der Vorteil dabei wäre, wenn ich vom Client aus die arraylisten abfrage sind diese immer aktuell.

Nur irgendwie beiße ich mir grade die Zähne an der Umsetzung in Delphi aus.

Hat da jemand einen TIP ??
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz