Announcement

Collapse
No announcement yet.

Double-Array von VBA an DLL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Double-Array von VBA an DLL

    Hallo,

    ich stehe irgendwie mit Array-Übergaben von VBA an DLLs auf Kriegsfuß.
    Dieses Mal geht es Double-Arrays.
    Es wird kein Fehler erzeugt, nur erhalte ich keine Werte.
    Während in VB z.B. das Array komplett mit jeweils 23,344 gefüllt wird,
    erhalte ich aus Delphi die Mitteilung, daß die Werte "0" sind. Ausnahmewerte
    sind 9,881312...E-324, den ich aber definitiv nicht selbst eingetragen habe.<br>
    <br>
    type ArrayBetrag = array[0..247] of Double;<br>
    procedure Vorschlag(var Betrag:ArrayBetrag);stdcall;<br>
    var W_Betragouble;<br>
    L:Smallint;<br>
    s:String;<br>
    begin<br>
    For L := 1 to 10 do<br>
    begin<br>
    W_Betrag := Betrag[L];<br>
    s := FloatToStr(W_Betrag);<br>
    ShowMessage(s);<br>
    end;<br>
    end;<br>
    <br>
    aus VB heraus:<br>
    Public Declare Sub Vorschlag Lib "xxx1.dll" ( ByRef Betrag() As Double)<br>
    Public Betrag(248) As Double<br>
    'Array wird mit Daten gefüllt<br>
    Vorschlag Betrag()<br>
    <br>
    Das Buch Win32 Lösungen konnte mir leider auch nicht weiter helfen, oder habe ich da etwas überlesen?<br>
    Danke für Tipps<br>
    Ronald

  • #2
    O.K. habe schon hilfe erfahren...<br>
    Lediglich der Aufruf aus VB heraus muss geändert werden.

    Public Declare Sub Vorschlag Lib "xxx1.dll" ( ByRef Betrag As Double)<br>
    Public Betrag(248) As Double<br>
    'Array wird mit Daten gefüllt<br>
    Vorschlag Betrag(0)<br&gt

    Comment


    • #3
      Guten Tag Ronald,

      ich arbeite mit Excel 2000 und Ihre Code, besonders
      <PRE>
      Vorschlag Betrag(0)
      </PRE>

      produziert ein "Fehler beim Kompilieren: Unverträglicher Typ: Datenfeld oder benutzerdefinierter Typ erwartet".
      <BR><BR>
      In welche Anwendung haben Sie Ihren Code geschrieben? Ich kann nicht Array an Prozedur in DLL übertragen.
      <BR><BR>
      Danke schön.<BR>
      Almidag

      Comment

      Working...
      X