AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Falsche Reihenfolge der Laufwerke!

Falsche Reihenfolge der Laufwerke!

Ein Thema von 100nF · begonnen am 30. Okt 2005 · letzter Beitrag vom 23. Nov 2005
Antwort Antwort
Seite 3 von 3     123
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#21

Re: Falsche Reihenfolge der Laufwerke!

  Alt 14. Nov 2005, 19:16
Zitat von Garfield:
In der Darstellung der Adresse per TargetID, AdpaterID und LunID ist ein kleiner Fehler. Ich hatte die Darstellung in der deklarierten Reihenfolge vorgenommen. Beim Vergleich mit VCDEasy und Bass.Dll/BassCD.Dll habe ich festgestellt, dass dort die TargetID und AdapterID anders herum angezeigt werden.
also ist der fehler bei dem programm von deinem letztem anhang auch drin?
ich hoffe es, denn bei einem von 3 PCs passen die laufwerksbuchstaben nicht zu den laufwerksbeschreibungen.
kann es auch sein dass es fehler gibt wenn noch zusätzlich ein virtuelles laufwerk verwendet wird? sollte ja nicht oder?

das programm habe ich bei 3 PCs getestet:
PC 1: 1 CD-Laufwerk + 1 virtuelles laufwerk. funktionierte.
PC 2: 2 CD-Laufwerke. funktionierte.
PC 3: 2 CD-Laufwerke + 1 virtuelles laufwerk. funktionierte nicht, falsche reihenfolge.

die drei zahlen vor den laufwerksbezeichnungen waren jetzt nicht mehr 0:0:0, ausser bei einem einzigen laufwerk (ich glaube das war ein virtuelles), aber das ist ja shcon möglich dass diese so sein müssen, da die anderen 2 laufwerke nicht 0:0:0 anzeigten.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#22

Re: Falsche Reihenfolge der Laufwerke!

  Alt 14. Nov 2005, 21:02
Zitat von urbanbruhin:
also ist der fehler bei dem programm von deinem letztem anhang auch drin?
Ja. Es ist aber nur ein Darstellungsfehler. Es muss der Befehl:
Delphi-Quellcode:
Text := IntToStr(TargetID) + ':'
             + IntToStr(AdapterID) + ':'
             + IntToStr(LunID) + ' - '
             + CDRomName;
in
Delphi-Quellcode:
Text := IntToStr(AdapterID) + ':'
             + IntToStr(TargetID) + ':'
             + IntToStr(LunID) + ' - '
             + CDRomName;
geändert werden und schon passt die Anzeige.

Zitat von urbanbruhin:
kann es auch sein dass es fehler gibt wenn noch zusätzlich ein virtuelles laufwerk verwendet wird? sollte ja nicht oder?
Das könnte sein. Ich habe in meinem Notebook einen DVD-Brenner an 1:0:0. Dazu habe ich die Daemon Tools installiert. Zum Testen habe ich die Anzahl der virtuellen Laufwerke von eins auf vier (Maximum) erhöht. TCDRip findet nur das erste virtuelle Laufwerk. TCDDB findet das erste (2:0:0), dritte (2:2:0) und vierte (2:3:0) virtuelle Laufwerk. Wenn ich meine Source aus http://www.delphipraxis.net/internal...ct.php?t=68064 verwende, werden alle vier virtuellen Laufwerke gefunden. Anschließend findet die TCDDB aus dem anderen Programm auch alle Laufwerke.

In meinem anderen Projekt wurden Inkompatibilitäten in der SptiCD.pas wie folgt gefunden:
Delphi-Quellcode:
Zeile 90 - Text := @DummyStr[0];
Zeile 95 - StrPCopy( @buf[0], Format( '\\.\%s:', [
Zeile 191 - StrPCopy( @buf[0], Format( '\\.\%s:', [
Zeile 362 - StrPCopy( @buf2[0], Format( '\\.\%s:', [CdRoms.CdRom[i].DriveLetter] ) );
Zeile 408 - DriveString := @inqData[0];
Vielleicht helfen diese kleinen Korrekturen bereits.

Die Änderung der Anzahl der virtuellen Laufwerke mit Daemon Tools bemerkt TCDRip erst nach dem Neustart. Die TCDDB bemerkt es sofort.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#23

Re: Falsche Reihenfolge der Laufwerke!

  Alt 16. Nov 2005, 18:31
könntest du bitte noch den source von deinem letzten anhang anhängen?
da ist nämlich nur die exe und die DLLs drin, da kann ich schlecht den code verändern
oder meinst du, ich soll den code bei dem vorletzten anhang ändern?
das würde ja nichts nützen, die 3 zahlen werden dann einfach in einer anderen reihenfolre angezeigt oder?
mich würde dann aber den source vom letzten anhang trotzdem noch interessieren...

gruss
urbanbruhin
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#24

Re: Falsche Reihenfolge der Laufwerke!

  Alt 16. Nov 2005, 20:30
Ja sicher kann ich das.

CDTest_2_Source ist die Source zu der EXE oben. Funktioniert nur unter WinXP und vermutlich Win2000 wie gewünscht.

Bei CDTest_3 ist alles auf die Units von ASPI und SPTI reduziert. Funktioniert unter WinXP mit und ohne ASPI und unter Win98SE.
Angehängte Dateien
Dateityp: 7z cdtest_2_source_113.7z (145,1 KB, 6x aufgerufen)
Dateityp: 7z cdtest_3_source_946.7z (12,2 KB, 6x aufgerufen)
Dateityp: 7z cdtest_3_exe_122.7z (151,7 KB, 6x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#25

Re: Falsche Reihenfolge der Laufwerke!

  Alt 17. Nov 2005, 18:41
erstmal dankeschön

dann zum resultat:
beim ersten pc (1 optisches + 1 virtuelles laufwerk) funktionierte das programm cdtest_2 einwandfrei, beim cdtest_3 war das resultat so:
Zitat:
D: (0:0:0)
F: (0:0:0)
beim zweiten pc (2 optische + 1 virtuelles laufwerk) passten bei cdtest_2 die laufwerksbeschreibungen nicht zu den laufwerksbuchstaben, aber dafür liefs mit dem cdtest_3 problemlos

beim dritten pc (2 optische laufwerke) war das resultat bei cdtest_3 das gleiche wie beim ersten pc. beim cdtest_2 war das resultat folgendes:
Zitat:
Fehler beim Initialisieren von CDRip
ich vermute aber eher, dass das ein problem vom pc ist, und nicht vom programm...
könnte sein dass das mit dem CDRip bei einem eingeschränkten konto nicht funktioniert oder so.

jetzt müsste ich aber noch irgendwie rausbekommen, WELCHE variante für WELCHEN pc die richtige ist

ach ja, alle drei pc haben win xp prof., sp2
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#26

Re: Falsche Reihenfolge der Laufwerke!

  Alt 17. Nov 2005, 22:06
Zitat von urbanbruhin:
jetzt müsste ich aber noch irgendwie rausbekommen, WELCHE variante für WELCHEN pc die richtige ist

ach ja, alle drei pc haben win xp prof., sp2
Bei WinXP-Rechnern: Prüfung nur mittels SPTI.

Die Laufwerke selbst sind nicht für die unterschiedlichen Anzeigen verantwortlich. Die Ursache ist wohl diese:

Zitat von urbanbruhin:
bei den einen PCs befindet sich die datei WNASPI32.DLL schon im system32-verzeichnis, aber nicht bei allen. ausserdem gibt es verschiedene versionen von dieser DLL, die dann auch nicht das selbe ergebnis in deinem beispielprogramm erzielen. habe ich auch getestet.
Das Programm prüft mit SPTI und ASPI. Genau habe ich es mir aber nicht angesehen.

Wenn man es also richtig machen will, muss man wie zum Beispiel bei VCDEasy eine Trennung zwischen SPTI und ASPI sowie nach den verschiedenen ASPI-Versionen vornehmen und entsprechende Routinen schreiben.

Wenn Du VCDEasy installiert hast, kannst Du die verwendeten Treiber ablesen. Da steht dann SPTI, ASPI: Adaptec bzw ASPI: Nero. Früher durfte man nur Adaptec Version 4.60 verwenden. Jetzt wird die 4.71 empfohlen.

Was Du mal probieren kannst: Lasse die wnaspi32.dll auf den Rechnern suchen, benenne sie um (zum Beispiel _ anhängen) und starte dann CDTest_3.exe. Dann sollte die Anzeige bei allen Rechnern stimmen. Bei CDTest_2.exe gibt es den CDRip-Fehler, weil da die wnaspi32.dll benötigt wird.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#27

Re: Falsche Reihenfolge der Laufwerke!

  Alt 18. Nov 2005, 00:10
So, dann wollen wir mal weitertesten.

In TForm1.Create steht als erste Zeile

CDInterface := cdiAutoDetect; Das ich diesen Wert verwendet habe war ein Zufall. Aber sehen wir die anderen beiden Werte an:

Delphi-Quellcode:
CDInterface := cdiNTSCSI;
CDInterface := cdiASPI;
Am besten Du testet die Wirkung der Werte.
Angehängte Dateien
Dateityp: 7z cdtest_4_exe_196.7z (152,8 KB, 5x aufgerufen)
Dateityp: 7z cdtest_4_source_159.7z (12,4 KB, 7x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#28

Re: Falsche Reihenfolge der Laufwerke!

  Alt 21. Nov 2005, 19:41
Klappt es nun?
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#29

Re: Falsche Reihenfolge der Laufwerke!

  Alt 23. Nov 2005, 17:51
sry dass es so lange gedauert hat, habe grad ziemlich viel stress...

zum cdTest_4:
beim ersten PC hats mit "SPTI" und mit "Auto" funktioniniert.
beim zweiten PC hats mit "SPTI" funktioniert, und bei "Auto" war die reihenvolge der laufwerksbezeichnungen vertauscht.
beim dritten war das ergebnis gleich wie beim ersten PC.

das "ASPI" hat bei keinem funktioniert.
noch etwas das mich störte: wenn man das programm startet und zu früh (bis ca. 3sek nach Programmstart) auf "SPTI" klickt, kamen da komische sachen wie
Zitat:
D: (48:136:209) ÿÿÿÿ*ˆÑw?ÆÑw
F: (60:55:140)

wenn man etwas später nochmal auf "SPTI" klickt, stimmt es:
Zitat:
D: (2:0:0) PHILIPS CDRW/DVD CDD5263
F: (3:0:0) Generic DVD-ROM
meinst du, das kamm man ändern?

und wie kann man feststellen, ob ich bei einem pc "SPTI", "ASPI" oder "Auto" anwenden muss?
ach ja, stimmen denn jetzt die einträge auch mit der reihenfolge von TCDRip zusammen?

gruss
urbanbruhin
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#30

Re: Falsche Reihenfolge der Laufwerke!

  Alt 23. Nov 2005, 19:32
Zitat von urbanbruhin:
sry dass es so lange gedauert hat, habe grad ziemlich viel stress...
Ach so, ich wollte nicht drängeln.

Zitat von urbanbruhin:
das "ASPI" hat bei keinem funktioniert.
Das hat bei mir auch nur unter Win98SE funtkioniert. Muss an der AspiCD.pas liegen, denn TCDRip benötigt ASPI-Treiber und findet sie auch.

Zitat von urbanbruhin:
... meinst du, das kamm man ändern?
Ich wüsste nicht wie. In meinem Programm werden die Laufwerke im Form.Create abgefragt und es sind keine Probleme aufgetreten.

Zitat von urbanbruhin:
und wie kann man feststellen, ob ich bei einem pc "SPTI", "ASPI" oder "Auto" anwenden muss?
Das ist Betriebssystemabhängig. WinNT/2000/XP verwenden SPTI. Win9x/ME verwendet ASPI. In der SptiCD.pas ist die Funktion GetOSVersion, welche zwischen Win95, Win98, WinNT35, WinNT4, Win2000 und WinXP unterscheidet. Du könntest demzufolge das Betriebssystem abfragen:

Delphi-Quellcode:
uses
  ..., SptiCD;

...

if GetOSVersion > 1
then CDInterface := cdiNTSCSI
else CDInterface := cdiASPI;
...
oder mit CASE:

Delphi-Quellcode:
case GetOSVersion of
0..1 : cdiASPI;
2..5 : cdiNTSCSI;
else cdiAutoDetect;
end;
Statt der Zahlen kann man natürlich auch die Konstantennamen verwenden.

Zitat von urbanbruhin:
ach ja, stimmen denn jetzt die einträge auch mit der reihenfolge von TCDRip zusammen?
Bei mir ja. Sollte bei Dir auch stimmen.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 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