Autor Beitrag
Savage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: Fr 18.07.03 22:03 
Hi @all

ich habe vor ein virtuelles Laufwerk zuerstellen, welches über ein Programm gesteuert wird - mein Programm soll also z.B.: Ordner und Dateien für dieses Laufwerk virtuell zur verfügung stellen, und ich will dann halt darauf wie ein normales Laufwerk zugreifen können.
Vergleichbar vieleicht mit einen Fileserver, der Dateien für die Auswelt per HTTP oder FTP zur Verfügung stellt, nur dass es halt über ein virtuelles Laufwerk geschehen soll.

Ich habe bloß leider keine Ahnung wie das funktionieren könnte.

Hat jemand ein paar nützliche Tipps für mich?
Wäre sehr Dankbar :)

MfG
Savage
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Fr 18.07.03 23:38 
imho geht das nur via Gerätetreiber - und mit Delphi ist leider nicht möglich solche zu pinseln. Bleibt entweder nur der Griff in die "C" Kiste oder auf Tools von Drittanbieter ausweichen.
grez
msch
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Sa 19.07.03 11:02 
Dito, das Delphi nicht zur Gerätetreiberentwicklung geeignet ist habe ich inzwischen oft gelesen. Aber warum eigentlich?

Zum Thema: Mit C einen Treiber schreiben, der sich über deine Delphianwendung steuern läßt. Das ist das Beste, das mit gerade einfällt.

maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Sa 19.07.03 11:41 
maxk hat folgendes geschrieben:
Dito, das Delphi nicht zur Gerätetreiberentwicklung geeignet ist habe ich inzwischen oft gelesen. Aber warum eigentlich?

Weil Delphi nicht von Microsoft ist und die stellen nun mal das DDK zur Verfügung. Man müsste also tausende von Header Dateien nach Delphi übersetzen. Wobei MS dort sehr sehr viel mit Makros und Templates gearbeitet hat. Wenn man das nach 2 Jahren geschaft hat kommt die nächste Hürde. Man muss Teile der .lib Dateien in .obj Dateien extrahieren und diese dann in das von Borland genutzt Format konvertieren (leichtester Schritt). Den WDM Treiber kann man nun kompilieren. Es ist damit aber nicht getan, denn der Delphi Linker kann keine Dateien erzeugen, die der Kernel akzeptiert. Dafür muss man den PE-Header von Hand verändern. Danach geht das Debuggen los. Man muss ja sicherstellen, dass 1. die Header-Dateien richtig übersetzt wurden und 2. man keinen Fehler im Treiber hat. Der Integrierte Debugger von Delphi kann dabei aber nicht helfen.

Im Großen und Ganzen rentiert sich die Konvertierung der Header-Dateien schon aus Zeitgründen nicht. Zudem muss man auf alle Delphi-Angenehmlichkeiten verzichten. Da kann man gleich das Visual Studio kaufen und mit VC++ den Treiber schreiben.

_________________
Ist Zeit wirklich Geld?
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Sa 19.07.03 12:24 
Okay, ich fang dann schon mal an :mrgreen:

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
Ja-Pa
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 458

Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
BeitragVerfasst: Mo 21.07.03 13:40 
Titel: Vielleicht mit subst?
Hi,

es gibt unter allen Win-Versionen und DOS die Möglichkeit, ein virtuelles Laufwerk zu erstellen und zwar mit folgendem DOS Befehl:
subst <Laufwerksbuchstabe> "<Ordner>"
Beispiel: subst X: "C:\Programme"
So entsteht ein virtuelles Laufwerk X:, das auf den Ordner C:\Programme verknüpft, also den Inhalt von C:\Programme hat.
Das Laufwerk verschwindet allerdings bei jedem Windows-Neustart, muss also immer wieder aktualisiert werden.
Du könntest es mal versuchen, einen versteckten Ordner zu erzeugen, dort den Inhalt des virtuellen Laufwerks hineinzukopieren und dann mit deinem Delphi-Programm das Programm
command.com (bei Win NT/2000/XP cmd.exe) mit dem String oben (subst...) als Parameter auszuführen.
Ich hoffe, ich konnte dir weiterhelfen.

Gruß, Ja-Pa
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Mo 21.07.03 17:32 
Für subst gibt es auch API Aufrufe, mit denen man sich das Starten von subst sparen kann - obwohl es eine sehr unsaubere und unkomfortable Methode ist (zu wenig Kontrolle)

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
Savage Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: Mo 21.07.03 17:34 
erstmal thx an alle,

subst ist zwar schon mal ein Anfang aber noch nicht so richtig das, was ich wollte. Naja, trotzdem DANKE :)

Ich werd das jetzt über ne Drittsoftware machen und sowas wie Webdrive laufen lassen. Somit brauch ich nur noch einen FTP-Server zuschreiben und hab dann meinen Spaß ;)

mfg
Savage