Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Aspi ansprechen (https://www.delphipraxis.net/70785-aspi-ansprechen.html)

skunker 5. Jun 2006 17:48

Re: Aspi ansprechen
 
Entweder spinn ich oder ich check das nicht. Kann es sein, dass alle Komponenten die bis jetzt erwähnt wurden die originalen ASPI Headers nicht ganz richtig bzw, vollständig übersetzt haben ?

Wenn ich jetzt irgendwo ne Liste hätte welcher Typ in Delphi dem Typ in C++ entspricht z.B. LPVOID kann ich mal die kompletten originalen Adaptec Aspi Headers nach Delphi umschreiben.


EDIT:
Ich muss mal ebend Weg weiß net wann ich wiederkomme. Jenachdem ob ich dann noch Lust habe mache ich heute Abend noch was ansonsten bis morgen.

Daniel G 5. Jun 2006 18:30

Re: Aspi ansprechen
 
Zitat:

Zitat von skunker
Entweder spinn ich oder ich check das nicht. Kann es sein, dass alle Komponenten die bis jetzt erwähnt wurden die originalen ASPI Headers nicht ganz richtig bzw, vollständig übersetzt haben ?

Wie kommst du darauf?

Garfield 5. Jun 2006 18:32

Re: Aspi ansprechen
 
Vermutlich wurde nur das übersetzt, was benötigt wurde. Auf jeden Fall unterscheiden sich CDDBComp und TIsoLib im Umfang erheblich.

Die Header sind auch von der Version der ASPI abhängig. Bei VCDEasy (in Delphi geschrieben) wurde eine zeitlang die 4.60 empfohlen. Diese Version musste beim ersten Start tatsächlich vorliegen, anschließlich konnte man auch eine neuere verwenden. lkVCDxImager kann wohl nur mit der 4.60 arbeiten.

Für die Nero ASPI müssten die Header in der Nero API für Delphi enthalten sein.

Daniel G 5. Jun 2006 18:34

Re: Aspi ansprechen
 
Zitat:

Zitat von Garfield
Vermutlich wurde nur das übersetzt, was benötigt wurde.

Wobei man dann davon ableiten kann, welcher Typ in Delphi welchem in C/C++ entspricht. Ich bin nicht wirklich der Könner in C, aber zur Übung wär's vielleicht nicht schlecht. Auch, wenn ich eigentlich schon hab' was ich brauch...

Garfield 5. Jun 2006 18:50

Re: Aspi ansprechen
 
static_cast und Muetze1 werden sich darüber bestimmt freuen.

Daniel G 5. Jun 2006 18:55

Re: Aspi ansprechen
 
Äh... also, wie geschrieben: "wäre" Im Moment hat meine mdl. Prüfung vorang ;)

Garfield 5. Jun 2006 19:33

Re: Aspi ansprechen
 
Zitat:

Zitat von Daniel G
Im Moment hat meine mdl. Prüfung vorang ;)

So etwas ist immer wichtiger. Meine letzte Prüfung ist schon ein paar Jährchen her.

skunker 6. Jun 2006 00:43

Re: Aspi ansprechen
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hi,

so also hier einmal die komplette Übersetzung der 3 Adaptec ASPI Headers von c++ nach Delphi.

Zusätzlich habe ich noch mein Testproggi angehängt.

Ich habe alles versucht gemäß dem SDK zu machen aber ich bekomme halt immer einen Fehler, bzw. beim GetASPI32SupportInfo kommt ein Fehler.

Schaut euch einfach mal meinen Code an vielleicht findet ihr ja den Fehler. Die Headers sind richtig übersetzt, daran kann es nicht liegen.

Ich hab den Code aus dem Adaptec SDK übernommen (bei GetASPI32SupportInfo):

Delphi-Quellcode:
BYTE byHaCount;
BYTE byASPIStatus;
DWORD dwSupportInfo;
dwSupportInfo = GetASPI32SupportInfo();
byASPIStatus = HIBYTE(LOWORD(dwSupportInfo));
byHaCount = LOBYTE(LOWORD(dwSupportInfo));
if( byASPIStatus != SS_COMP && byASPIStatus != SS_NO_ADAPTERS )
{
// Handle ASPI error here. Usually this involves the display
// of a dialog box with an informative message.
}
in Delphi bei mir:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  byHaCount: BYTE;
  byASPIStatus: BYTE;
  dwSupportInfo: DWORD;
begin
  dwSupportInfo := GetASPI32SupportInfo();
  byASPIStatus := HIBYTE(LOWORD(dwSupportInfo));
  byHaCount := LOBYTE(LOWORD(dwSupportInfo));

  if (byASPIStatus <> SS_COMP)and(byASPIStatus <> SS_NO_ADAPTERS) then begin
    showmessage('Fehler');
  end;
end;

Nur kommt immer die Meldung: Fehler. Warum ?
Wenn ich

showmessage(IntToStr(byHaCount));

mache zeigt er mir einfach ne 0 an.

skunker 6. Jun 2006 01:18

Re: Aspi ansprechen
 
Hi,

also folgendes habe ich herausgefunden:

Das es nicht funktioniert liegt an der Adaptec WNASPIXP.dll bzw. an der WNASPI32.DLL.

Ich habe jeweils den neusten ASPI Treiber probiert und den ForceASPI der noch auf den stabilen 4.60 Treibern aufbaut. Ergebnis: NADA beides geht nicht.

ABER: Kopiere ich die wnaspi32.dll von NERO7 in mein Verzeichnis. SIehe da keine Fehlermeldung und nach meiner kleinen Verbesserung auch meine 2 Host Adapter. Wunderbar.

Tja nur darf ich es nicht mit der DLL von Nero ausliefern.

Jetzt hat mich das stutzig gemacht und habe weitergetestet und gesehen das auch andere Programme welche ASPI benutzen nicht mit der ASPI dll von Adaptec klarkommen nur mit der von NERO.

WHat's the problem?

Hat jemand ne Idee? Mein Proggi funzt zumindest.

Daniel G 6. Jun 2006 10:04

Re: Aspi ansprechen
 
:gruebel:

Evtl. solltest du die ASPI - Treiber bei dir nochmal komplett neu installieren. Bei mir läuft dein Projekt nämlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 Uhr.
Seite 5 von 6   « Erste     345 6      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz