Einzelnen Beitrag anzeigen

adk

Registriert seit: 24. Feb 2010
9 Beiträge
 
#15

Re: Double-Pointer als Int-Parameter übergeben und zurück

  Alt 25. Feb 2010, 10:51
Zitat von himitsu:
Delphi-Quellcode:
procedure ProcedureA(Gewicht : double)
var
  pGewicht: PDouble;
begin
  New(pGewicht);
  pGewicht := Gewicht;
  PostThreadMessage(MyThreadId, WM_Gewichtserfassung, intAndererwert, Integer(Gewicht));
end;

procedure TScheduleThread.Execute;
var
  Gewicht: double
begin
  Gewicht := PDouble(Gewichtsparameter)^;
  Dispose(PDouble(Gewichtsparameter)); // das Freigeben nicht vergessen

  ShowMessage(FloatToStr(Gewicht));
end;
Das schaut gut aus, aber: Sind folgende Korrekturen korrekt? (@ und 'p' hattest du vergessen):

Delphi-Quellcode:
procedure ProcedureA(Gewicht : double)
var
  pGewicht: PDouble;
begin
  New(pGewicht);
  pGewicht := @Gewicht;
  PostThreadMessage(MyThreadId, WM_Gewichtserfassung, intAndererwert, Integer(pGewicht));
end;
Wenn ja, habe ich leider dasselbe Problem wie vorher.
  Mit Zitat antworten Zitat