Einzelnen Beitrag anzeigen

Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#1

Verweis auf andere Funktion

  Alt 1. Apr 2003, 16:13
Hi Leute!

Ich bin mal wieder zu vernagelt um eine Lösung zu finden...

Ich hab eine Prozedur, die aus einer Textdatei Werte ausliest und diese dann Variablen zuweist. Nun muss ich an einer Stelle einen boolschen Wert zuweisen und dazu soll noch ein Bild verändert werden (der boolsche Wert gibt an welches Bild dagestellt wird).
Die Änderung des Bildes erfolgt über eine Funktion, die sich auf der gleichen Unit befindet wie die oben genannte Prozedur. Die Funktion wird aber von einer anderen Unit aus aufgerufen, d.h. ich kann nicht auf den Aufruf auf der anderen Unit verweisen, da ich sonst die beiden Units miteinander referenziert habe. Direkt aufrufen kann ich die Funktion aber auch nicht da in dafür einige Parameter übergeben werden müssen die in diesem Fall gar niocht vorahnden sind... wie macht man den Aufruf der Funktion in diesem Fall???

Delphi-Quellcode:
unit UnitFunc;

interface

uses SysUtils, ExtCtrls, StdCtrls, Controls, Classes, Graphics, Dialogs,Forms,
     unittype;
...
        if HThl <> '-1then BildTHL[i] := true;
        {Hier soll der Aufruf stehen}
...
function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean; //Zustand THL wechseln
var
  bitmapTHL: TBitmap; {Deklaration der lokalen Variable für die Bitmap}
begin
  if Bild = false then {Zustandsabfrage welches Bild derzeit geladen ist}
    begin
      BitmapTHL := TBitmap.Create;
      BitmapTHL.loadfromfile ('THL.bmp');
      Sender.Picture.LoadFromFile('THL.bmp'); {Bild wird geladen}
      result := true; {Zustandsvariable wird geändert}
    end
  else
    begin
      BitmapTHL := TBitmap.Create;
      BitmapTHL.loadfromfile ('nonTHL.bmp');
      Sender.Picture.LoadFromFile('nonTHL.bmp'); {Bild wird geladen}
      result := false; {Zustandsvariable wird geändert}
    end;
end;
Delphi-Quellcode:
unit UnitHaupt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, unittype, unitfunc,unitls, Menus, ExtCtrls, StdCtrls,
  ActnList, StdActns;
...
      BildTHL[1] := thl (Sender as TImage, Button, bildTHL[1]);{Ändert THL-Bild}
...
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat