AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisproblem bei IInterface

Ein Thema von jensw_2000 · begonnen am 5. Dez 2005 · letzter Beitrag vom 5. Dez 2005
Antwort Antwort
jensw_2000
(Gast)

n/a Beiträge
 
#1

Verständnisproblem bei IInterface

  Alt 5. Dez 2005, 21:59
Hallo Zusammen,

ich plage mich zur Zeit mit den Eicon Diva SDK herum.
Das Wichtigste funktioniert schon, aber bei den Sachen, die ich nur über Interfaces nutzen kann, komme ich nicht weiter...

z.B. möchte ich Informationen über installierten Eicon Karten in ein Logfile ausgeben ...


Delphi-Quellcode:
Procedure GetHardwareInfo;
  var DivaSystem:TDivaSystem;
      i:integer;
begin

  DivaSystem:=TDivaSystem.create(nil);
  try
    Log('Anzahl Karten :'+ Inttostr(DivaSystem.NumDevices) );
    Log('B-Kanäle (gesamt) :'+ Inttostr(DivaSystem.TotalChannels) );
    
    for i:=0 to DivaSystem.NumDevices-1 do
    begin

      With DivaSystem.GetDevive(i) do // <<< gibt ein IInterface zurück
      begin // (vermutlich das Äquivalent zu TDivaDevice)
        connect;

        log('Serial No' + Inttostr(SerialNumber) ); << Geht nicht, "Undefinierter Bezeichner"
        log('Channels' + Inttostr(Channeld) ); << Geht nicht, "Undefinierter Bezeichner"
        log('ID' + Inttostr(Id) ); << Geht nicht, "Undefinierter Bezeichner"

        disconnect;
      end; // with

    end; //for

  finally
    FreeAndNil(DivaSystem);
  end; // try, finally

end; // GetHardwareInfo
Leider komme ich so nicht an die Eigenschaften der einzelnen Karten heran.

Ich habe auch schon versucht eine Instanz von TDivaDevice zu erzeugen und dieser das IInterface mit Assign zuzuweisen. Das was aber auch erfolglos "Inkompatible Typen TPeristent und IInterface".
Ein Typecast in TDivaDevice bzw. IDivaDevice funktioniert ebenfalls nicht...

Vermutlich hat ActiveX eine Altersbegrenzung ...
Aus den Tutorials werde ich nicht wirklich schauer.
Sobald man glaubt, man hätte es verstanden kommen 100 neue Fragen und Access Violations


Kann mit Jemand in ein paar leicht verständlichen Schritten erklären, wie das funktioniert ?


Danke...

Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Verständnisproblem bei IInterface

  Alt 5. Dez 2005, 22:51
Hallo Jens,

du wirst mittels TLIBIMP oder ActiveX-Import eine Unit erzeugt haben, mit der du jetzt arbeitest. Schau in dieser Unit nach, welchen result type die Methode GetDevice() hat. Wenn das ein Interface ist, dann musst du dasjenige Interface suchen, welches die accessor methods für SerialNumber und ChanneldId aufweist. Du kannst dann mit "GetDevice() as DasBenoetigteInterface" auf die gewünschten Informationen zugreifen. Sorry für den Trockenkurs, aber ich habe keinen Zugang zu dieser Software.

Grüße vom marabu
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#3

Re: Verständnisproblem bei IInterface

  Alt 5. Dez 2005, 23:20
Das entsprechende Interface ist IDivaDevice.

Der Typecast in IDivaDevice war einer meiner ersten Versuche.
Nachdem ich dann ständig AV's bekam habe ich den Ansatz verworfen und einen kompletten Urlaubstag erfolglos herumexperimentiert.

Dein Tip ist natürlich richtig.

Das Problem bestand nur darin,
das die DivaDevices nicht 0 basiert gezählt werden, sondern bei 1 anfangen AUA

Delphi-Quellcode:
    for i:=1 to DivaSystem.NumDevices do
    begin
Danke das du mich wieder auf den richtigen Weg gebracht hast...


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:48 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