Einzelnen Beitrag anzeigen

Sascha.E

Registriert seit: 9. Nov 2006
Ort: Bremen
11 Beiträge
 
#6

Re: Meilhaus PCI Karte - Inkompatible Typen

  Alt 30. Nov 2006, 11:09
Moin Marabu ... war jetzt 2 Tage net auf der Arbeit, deswegen kommt die Antwort erst jetzt. Ich Poste in 5 Minuten den Code! Muss nur kurz vom Admin account in den netzwerkaccoutn übertragen!

EDIT: hier ist erstmal der aktuelle Quellcode
Delphi-Quellcode:
psValues : ^SmallInt;
Zeiger : SmallInt;

procedure TForm1.ContinStart(Sender: TObject);
Begin
for uiChannelNumber := 0 to 3 do
  begin
    me4000AIExtractValues(
      uiChannelNumber, // Channel number
      psValues, // <--- Fehler: Type Missmatch Smallint+Pointer
      uiNumberOfValues, // Total number of data values
      @arrbChannelList[0], // Start of channel list
      4, // Number of entries in the channel list
      @arrsiChannelScanData[uiChannelNumber][0], // Channel data returned here
      40, // Size of channel data buffer
      lwNumberOfChannelScanData); // Number of values actually returned
                                                 // for this channel here
  end;
end;
so hab ichs im moment stehen ... die Zeiger-Variable ist momentan ziemlich sinnlos.

wenn ichs die variable Zeiger mit einbinde um ein array oder einfach nur den Smallint einzubinden, dann bleibt das programm trotzdem hängen ...

das sähe dann so aus:
Delphi-Quellcode:
psValues : Pointer;
Zeiger : SmallInt;

procedure TForm1.ContinStart(Sender: TObject);
Begin
Zeiger := {Hier kann stehen was will, er gibt den selben fehler};
psValues := @Zeiger;
for uiChannelNumber := 0 to 3 do
  begin
    me4000AIExtractValues(
      uiChannelNumber, // Channel number
      psValues, // <--- Fehler: Type Missmatch Smallint+Pointer
      uiNumberOfValues, // Total number of data values
      @arrbChannelList[0], // Start of channel list
      4, // Number of entries in the channel list
      @arrsiChannelScanData[uiChannelNumber][0], // Channel data returned here
      40, // Size of channel data buffer
      lwNumberOfChannelScanData); // Number of values actually returned
                                                 // for this channel here
  end;
end;
So langsam bekomm ich echt nen Affen hier ... es funktioniert keine der Pointerzuweisungen ...
Egal ob ich nach Literatur, nach meinem Wissen oder nach Vorschlägen arbeite, ich bekomme den Zeiger nicht zugewiesen um einen Buffer zu erzeugen ... und setze ich die
psValues : Smallint;
dann kompiliert er zwar, allerdings bekomme ich dann beim start die Karteninterne Fehlermeldung (wird an anderer Stelle implementiert) dass ich keinen Pointer zum Buffer habe ... ich stecke irgendwie in einer sehr tiefen misere -.-
Wenn ich was net kriege, was ich haben will, dann mach ich den Traubenklaufuchs ...
  Mit Zitat antworten Zitat