Autor Beitrag
ShadowCaster Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Fr 02.05.03 16:28 
Dennoch eine Frage... Warum ist es definitiv nicht möglcih in delphi einen Treiber zu schreiben. ist das nicht nur eine Dll die einen bestimmten für windows-benutzbaren Funktionsbereich exportieren muss? Also ich hab bei der windows SDK schon einige Sachen gelesen, wie man sowas macht und dann ist ja ja noch das DDK für Windows. Also wenn das in c++ geht, muss es doch auch in delphi gehen, oder nicht? Kann man in delphi7 denn treiber schreibenn wenns in 5 nicht geht?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 02.05.03 16:34 
Warte mal. Ich suche mal eben was raus.

Zitat:

Delphi ist ein Tool, dass dahingehend optimiert und entwickelt wurde, um schnellstmöglich Anwendungen für den Benutzermodus in Win32 (bevorzugt GUI) zu entwickeln.

Probleme:
- im Kernelmodus herrschen ganz andere Spielregeln,
- das Layout des resultierenden Images (PE/COFF-Format, kurz .exe und .dll) läßt sich beim Object Pascal Compiler/Linker nicht genügend beinflussen, um überhaupt erfolgreich vom Kernel akzeptiert zu werden
- Visual C++ ist die _einzige_ unterstützte Entwicklungsplattform für Anwendungen im Kernel-Modus...
- es gibt also folglich keine Units dafür und Du kannst bei 0 (nichts, nada, nil) mit reinem Assembler anfangen (sonst bekommst Du nichtmal die Init-Callback-Funktion hin), kein Speicher-Manager, keine Compiler-Magic, _keine_ Win32 API-Funktionen...
- ...selbst wenn sich jemand die Arbeit macht das Device Driver Kit (DDK) nach Object Pascal zu 'übersetzen', wird er feststellen, das selbige Sprache einige Features nicht hat, die dort ausgiebig benutzt werden ( z.B. Makros, 'fastcall' (Microsoft-spezifische Aufrufkonvention, vergleichbar mit 'register' in Pascal) und Unions (bedingt übersetzbar) ... )

Das waren nur die gröbsten technischen Probleme.
Alleine die Einarbeitung in das Thema Treiberentwicklung erfordert einen nicht zu unterschätzenden Aufwand. [...]

...insofern rate ich davon ab, zu versuchen mit Delphi (mal eben) einen Treiber zu schreiben.
Das haben andere schon getan, es reicht aber nicht zu mehr als: 'hm, geht mit viel Arbeit + HexEditor, aber macht irgendwie keinen Sinn'.

Ich hoffe das war deutlich genug. Dem interessierten Entwickler sei passende Lektüre (mind. DDK) empfohlen.

NicoDE
ShadowCaster Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Fr 02.05.03 16:44 
Ok... dann mal eine Frage: Krieg ich denn mit Borland c++ 5 einen Treiber geproggt? Das hab ich nämlich. Nur soviel ich weiß, sind borland c++ und borland delphi ziemlich ähnlich. Wäre nur eine Frage weil visual c++ wäre in der Registrierung verdammt teuer.

PS: Echt vielen Dank für deine weiten Ausführungen. in dem Forum lernt man eine ganze Menge dann Leuten wie dir. Also Danke :)
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 02.05.03 16:49 
Luckie hat folgendes geschrieben:
Warte mal. Ich suche mal eben was raus.

Zitat:
[...]
- Visual C++ ist die _einzige_ unterstützte Entwicklungsplattform für Anwendungen im Kernel-Modus...
[...]


Gruß
Klabautermann
ShadowCaster Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Fr 02.05.03 16:53 
ähm.. ok :oops:
... ist aber ne ganz schöne Sauerei, wenn ich extra einen vc++-Compiler für über 1000 Euro kaufen muss, um einen Treiber entwicklen zu können, wo ich doch schon 3000 Euro für Delphi ausgegeben hab! :x
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 02.05.03 17:36 
Hallo,
ShadowCaster hat folgendes geschrieben:
extra einen vc++-Compiler für über 1000 Euro kaufen muss, um einen Treiber entwicklen zu können, wo ich doch schon 3000 Euro für Delphi ausgegeben hab!

wieos extra? Micro$oft geht davon aus das du dir nur dieses kaufst.
Wie ich das einschätze ist einfach der Markt der Treiberprogrammierer zu klein als das sich eine andere Firma drum bemühen wollte. Borland bemüht sich ja eigendlich immer alles wichtige zu unterstützen (akkut z.B. Linux & .NET). Das sie bewust auf treiber verichten liegt wohl nicht zu letzt dadran, das man mit dem Argument "kann auch Treiber erstellen" nicht viele Kunden ködern kann, aber viel Arbeit reinstecen muss.

Gruß
Klabautermann