Thema: Delphi DLL programmieren

Einzelnen Beitrag anzeigen

Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#9

Re: DLL programmieren

  Alt 17. Apr 2008, 22:09
{erledigt - siehe unten}

Ich habe eine Frage zum selben Thema:

Ich arbeite an einer *.dll, die eine Mehtode enthält, welche später von 2 Threads aufgerufen wird. Das Problem ist, dass einige Anweisungen nicht mit kompiliert werden:

Delphi-Quellcode:
library Thread;

uses
  SysUtils,
  Classes,
  Graphics;

type
  TThreadParams = packed record
    public
      Center_x, Center_y, Range_x, Range_y, MaxValue, dx, dy: extended;
      MaxIterations, Counter: integer;
      Bitmap: TBitmap;
  end;

  PThreadParams = ^TThreadParams;

{$R *.res}

function ThreadFunc(Params: PThreadParams): Cardinal;
var
  fBitmap: TBitmap;

  fMaxIterations, fCounter: integer;

  fCenter_x, fCenter_y, fRange_x, fRange_y, fMaxValue, fdx, fdy: extended;
begin
  // Parameter auslesen
  fCounter:=PThreadParams(Params)^.Counter; // wird kompiliert
  fdx:=PThreadParams(Params)^.dx;
  fdy:=PThreadParams(Params)^.dy;
  fCenter_x:=PThreadParams(Params)^.Center_x;
  fCenter_y:=PThreadParams(Params)^.Center_y;
  fRange_x:=PThreadParams(Params)^.Range_x;
  fRange_y:=PThreadParams(Params)^.Range_y;
  fMaxIterations:=PThreadParams(Params)^.MaxIterations;
  fMaxValue:=PThreadParams(Params)^.MaxValue;
  fBitmap:=PThreadParams(Params)^.Bitmap; // wird kompiliert

  //[...]
end;

exports
  ThreadFunc;

begin
end.
Von den 10 Zeilen Code in der function werden nur 2 mit kompiliert: fCounter und fBitmap. Weiß jemand, woran das liegen könnte?

edit: Im Kontext mit meinem Programm/Thread gibts da wohl noch mehr Probleme. fCounter sollte 0 oder 1 sein, ist aber 1073383560 -.-
Das ändert natürlich nichts dran, dass die vielen Zeilen beim Kompilieren nicht beachtet werden...

Okay, lag an mir. Ich hatte den Rest der function zum debuggen auskommentiert, da wurden dann auch die Zuweisungen nicht mehr mitkompiliert (Varaible never used)
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat