![]() |
Verweis auf andere Funktion
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} ... |
Sehe an dem Quellcode nicht unbedingt dein Problem (falsche MethodenNamen?) kann mir jedoch vorstellen was du meinst.
Ein auslagern der Prozedure in eine 3. Unit könnte dir helfen die du in beiden anderen Units einusen kannst. Schreib sowas lieber so:
Delphi-Quellcode:
Ein boolscher Wert muss nicht nochmal mit einen solchem verglichen werden, er ist quasi selber einer :mrgreen:
// if bild = false then
if not bild then // if bild = true then if bild then |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz