Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Aufruf einer UCI-Engine in Delphi (3) ?

Author: Andreas Herrmann

Date: 10:18:24 04/06/04

Go up one level in this thread


On April 06, 2004 at 13:09:53, Andreas Herrmann wrote:

>On April 06, 2004 at 10:35:54, Lothar Hummel wrote:
>
>>
>>Wie kann ich von einem in Delphi 3 geschriebenen Programm (also aus GUI-Sicht)
>>eine UCI-Engine aufrufen ? Nach langer Suche habe ich nur den "shellexecute"
>>gefunden, dann erscheint aber das aufgerufene Programm als eigenständiger Task
>>unter Windows, ohne jede Verbindung zum aufrufenden Programm.
>>
>>Die Standard-Ein/Ausgabe gibts zwar auch in Delphi, sie funktioniert aber nur
>>bei sogenannten "Konsolenanwendungen", eine GUI ist aber genau das Gegenteil
>>davon. Kennt zufällig jemand eine konkrete Lösung für Aufruf und Datenaustausch
>>?
>
>Hi,
>
>du solltest hier im Netz nach "Redirect standard input ouput" suchen. Da findest
>du ein oder zwei C Beispiele im Netz, die du dann nach deinen Anforderungen
>übersetzten und anpassen kannst. Du kannst aber z.B. auch in der Win API Hilfe
>nach "CreatePipe","PeekNamedPipe" ... suchen und es selbst erarbeiten. Ev.
>findest du auch etwas in der Microsoft MSDN dazu.
>
>Ich habe da letztes Jahr auch eine Delphi Komponente entwickelt. Falls du einige
>Wochen warten kannst, findest du dann meine Delphi Komponente auf
>http://wbholmes.de. Die momentane Version kann nur mit einem externen Prozess
>kommunizieren und läuft auch noch nicht in einem separaten Thread. Sobald ich
>Zeit habe werde ich die Komponente aber neu schreiben, damit auch die eben
>beschriebenen Nachteile behoben sind.
>
>Andreas

noch vergessen zu erwähnen: Anstatt ShellExecute mußt du CreateProcess
verwenden. Siehe dazu vor allem auch unter LPSTARTUPINFO, da mußt du die
Input/Output Handles entsprechend zuweisen.

viel Erfolg
Andreas





This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.