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 <> '
-1'
then 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}
...