Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi-Programm soll auf Unix-Rechner laufen (https://www.delphipraxis.net/50162-delphi-programm-soll-auf-unix-rechner-laufen.html)

messie 21. Jul 2005 11:35


Delphi-Programm soll auf Unix-Rechner laufen
 
Hallo,

ich habe gerade eine Anfrage bekommen, zu der mir keine Antwort einfiel. Wir benutzen ein Windows-Programm, in Delphi programmiert. Das fragt Prozessdaten via Comport von einem Excimerlaser ab. Ein Laserkunde will das Programm nun auf seinem Unix-Steuerrechner laufen lassen, weil er nicht einen extra Windowsrechner neben das Gerät stellen will.

Ich nehme mal an, daß es keine Delphi-Compiler für unix gibt (ist auch vcl-code). Vielleicht kann man das mit Emulatoren lösen?

Danke schonmal für Eure Vorschläge,

Messie

barf00s 21. Jul 2005 11:38

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
"Kylix"
"FreePascal" - http://freepascal.org
"VirtualPascal" - [edit] http://www.virtualpascal.org (doofes dp editdingen hat die url zerbröselt [/edit]

Marcel Gascoyne 21. Jul 2005 11:43

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Um was für ein Unix handelt es sich denn ? Bei Linux kannst Du z.b. VMWare einsetzen.

Evtl. wäre es allerdings sinnvoller das ganze direkt für die Zielplattform zu programmieren, z.b. mit einem Pascal-Derivat wie FreePascal oder C/C++.

Gruß,
Marcel

Thanatos81 21. Jul 2005 12:00

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Falls du dich zum Schriitt über FreePascal entscheidest, schau dir mal Lazarus an. Ist eine sehr Delphi-ähnliche IDE, für die es auch Linux-Versionen gibt.

Olli 21. Jul 2005 12:21

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Also ich befürchte, daß du bei allen Vorschlägen wenig Freude haben wirst, da du offenbar ein Gerät ansteuerst. Dieses ist zwischen Windows und Unices leicht verschieden. Du wirst also um einen gewissen Portierungsaufwand des Kerncodes nicht herumkommen. Allerdings dürfte es (insofern die Rechte stimmen) für dich leichter sein auf Unix ein Gerät anzusprechen (obwohl sich das bei COM gerade nicht viel nimmt). Unter Unix gehst du ja bekanntlich über das devfs.

Fazit: Möglich, aber sicher nicht einfach.

Kleiner Tip: Gucke doch mal in deinen Code und versuche alles zu entfernen was aus der Win32-API stammt. Danach weißt du, was du unter Unix neu machen mußt (Backup nicht vergessen).

Edit: Tastatur hakte :wall:

Robert Marquardt 21. Jul 2005 12:29

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Also bei RS232 sollte es nur maessig problematisch sein.
Auf Windows-Seite ist es CreateFile, ReadFile, WriteFile und DeviceIoControl.
Auf Linux-Seite ist es open, read, write und ioctl.
Die Chance auf eine COM-Port-Komponente fuer Kylix und Lazarus sind auch nicht schlecht.

mschaefer 21. Jul 2005 12:41

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Hallo Messie,

Erstmal zum Prizip noch eine Frage: Du schreibst von Unix Steuerrechner. Steuert dieser Rechner
den Laser? Bei dem Einsatzgebiet dieses Lasertyps frage ich mich ob da überhaupt eine zweite
Anwendung so mitlaufen sollte.

Ist die Anwendung zeitkritisch? Wenn nein könnte man sich auch folgendes Überlegen. Eine Portierung
auf Kylix für kommt für ein Einzelanfrage wohl kaum infrage. Du könntest aber Testen ob Deine Anwendung
prinzipiell unter Wine läuft. Tut Sie das, dann könntest Du hier eine Textimportroutine einbauen.

Mit Kylix würdest Du dann nur eine kleine Anwendung schreiben, die den Comport ausliest und die
Daten in eine Textdatei schreibt, die Deine Anwendung dan regelmäßig einliest.

Grüße // Martin

tommie-lie 21. Jul 2005 12:45

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
/me wirft einfach mal eine Flasche guten WinE in die Runde.

messie 21. Jul 2005 12:46

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Ja sieht so aus, daß der Kunde Solaris und Linux zur Wahl stellt, also keine Exoten. Linux bietet sich ja nun an, weil es dort einige Tools gibt. Zum Vorschlag von Robert: wie finde ich denn alle WinApi-basierten Komponenten raus?

@Martin: die Anwendung ist nicht zeitkritisch, die Daten werden ca. alle Sekunde abgefragt. Wie kritisch das auf dem unix-System ist, weiß ich nicht. Der Laser hat einen eigenen Rechner (DOS) und der Kunde steuert seine Belichtungsmaschine mit dem unix-Rechner. Ist also eigentlich sein Problem...

Grüße, Messie

Olli 21. Jul 2005 13:01

Re: Delphi-Programm soll auf Unix-Rechner laufen
 
Zitat:

Zitat von messie
Zum Vorschlag von Robert: wie finde ich denn alle WinApi-basierten Komponenten raus?

Gucke mit dem Bei Google suchenDependency Walker in die Import-Tabelle und schaue nach allen Funktionen die aufgerufen werden. Am besten speicherst du sie in eine Textdatei und hängst sie an deinen nächsten Post. So bekommt man es schnell raus (zwar noch nicht genau welche Komponente usw. - wohl aber wie kompliziert es werden könnte).


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz