Einzelnen Beitrag anzeigen

Draos

Registriert seit: 12. Aug 2008
42 Beiträge
 
Delphi 7 Enterprise
 
#1

Globale Variable wird überschrieben

  Alt 1. Jan 2009, 12:33
Als erstes nen frohes neues Jahr. Konnte das folgende Problem leider nicht im alten lösen

Folgendes Problem: Ich gebe der Funktion Insert eine globale Variable (soll nicht überschrieben werden, deswegen wird diese Extra übergeben). Mein Problem liegt bei der procedure Replace. Diese ändert aus einen mir unbekannten Grund sowohl die Variable Term als auch die globale Variable, die bei Term übergeben wurde.

Zur Info ist ein Programm was Terme vereinfachen soll.

Delphi-Quellcode:
function Insert(Term:tFkt;const v:char;const y:Extended):String;
  procedure Replace(index:Integer);
  var i :Integer;
  begin
   with Term[index] do begin
    if Length(x)>0 then
     for i:=0 to Length(x)-1 do
      if x[i]=v then
       Term[index].x[i]:=FloatToStr(y);
    if Length(Terms)>0 then
     for i:=0 to Length(Terms)-1 do
      Replace(Terms[i]);
   end;
  end;
begin

  Replace(0);
  //...
end;
Schon mal danke im Vorraus
  Mit Zitat antworten Zitat