Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   LPT-Port unter Windows XP ansteuern (https://www.delphipraxis.net/22290-lpt-port-unter-windows-xp-ansteuern.html)

Tubos 15. Mai 2004 15:30


LPT-Port unter Windows XP ansteuern
 
Hallo!

Ein Freund von mir hat sich eine gebrauchte, externe Relais"karte" ersteigert.
Das Ding hängt man an den LPT-Anschluss an.
Von dem Typen hat er auch noch eine C-Funktion (mit Assembler drin) bekommen, mit der man den LPT-Anschluss ansteuern kann.

Leider kann ich die Funktion hier nicht posten, weil ich sie nicht habe.
Vielleicht ist das aber auch nicht nötig und irgendjemandem ist das Problem bekannt:
Unter windows 98 funktioniert dieser Code, aber unter XP stürzt das Programm mit einer Fehlermeldung von Windows ab.

Ich habe die Fehlermeldung auch nicht gesehen und habe ihn deshalb um einen Screenshot gebeten.
Wir beide können zwar C, aber kein Assembler und haben daher keine Chance, selber festzustellen wo das Problem liegt.

Könnte irgendjemand einen C bzw. C+Assembler - Code posten, mit dem man den LPT-Anschluss steuern kann?

Es tut mir leid, dass ich fast keine Infos habe, aber vielleicht hat jemand dasselbe Problem schonmal gehabt.

Danke!

Tubos

Muetze1 15. Mai 2004 17:19

Re: LPT-Port unter Windows XP ansteuern
 
Moin!

Das Problem liegt darin, das der Quellcode bzw. das Programm direkt auf die Hardware zugreift und dies ist für Anwendungen ab Windows NT und höher verboten. Der Quellcode müsste umgearbeitet werden um eine der vielen DLLs zu benutzen, die das den Anwendungsprogrammen erlaubt (z.B. DLPortIO). Da ihr ja kein C oder Assembler könnt, müsstet ihr die Ansteuerung vielleicht einfach unter Delphi neu schreiben.

MfG
Muetze1

Tubos 15. Mai 2004 17:47

Re: LPT-Port unter Windows XP ansteuern
 
Danke!

Zitat:

Da ihr ja kein C oder Assembler könnt, müsstet ihr die Ansteuerung vielleicht einfach unter Delphi neu schreiben.
stimmt nicht ganz
C können wir, aber ASM nicht.
Leider bin ich wahrscheinlich der einzige in der Schule, der Delphi programmiert :mrgreen:

Wie ruft man DLLs in C auf?

Muetze1 16. Mai 2004 01:39

Re: LPT-Port unter Windows XP ansteuern
 
Moin!

Der Assembler Teil dürfte soweit eigentlich nix anderes machen als ein Byte zu dem LPT Port auszugeben mit der OUT Instruktion und mit der DLL wird dann dieser Teil sowieso überflüssig.

Und von wegen DLLs von C aus aufrufen ist auch kein Problem, weil du der DLPortIO bekommt ihr ein Headerfile mit den kompletten Deklarationen mitgeliefert, so dass ihr nur noch die Funktionen aufrufen müsst die im Header deklariert sind (davon natürlich nur die, die ihr braucht...).

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 Uhr.

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