| Autor |
Beitrag |
Savage
      
Beiträge: 110
|
Verfasst: 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
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: 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
      
Beiträge: 1696
Erhaltene Danke: 1
Win XP, Debian Lenny
Delphi 6 Personal
|
Verfasst: 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
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: 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
      
Beiträge: 1696
Erhaltene Danke: 1
Win XP, Debian Lenny
Delphi 6 Personal
|
Verfasst: Sa 19.07.03 12:24
Okay, ich fang dann schon mal an 
_________________ Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
|
|
Ja-Pa
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: 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
      
Beiträge: 1696
Erhaltene Danke: 1
Win XP, Debian Lenny
Delphi 6 Personal
|
Verfasst: 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 
      
Beiträge: 110
|
Verfasst: 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
|
|