AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Verweis auf andere Funktion

Ein Thema von Hellcat · begonnen am 1. Apr 2003 · letzter Beitrag vom 1. Apr 2003
Antwort Antwort
Hellcat

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

Verweis auf andere Funktion

  Alt 1. Apr 2003, 15: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
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#2
  Alt 1. Apr 2003, 19:15
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:
// if bild = false then

if not bild then

// if bild = true then

if bild then
Ein boolscher Wert muss nicht nochmal mit einen solchem verglichen werden, er ist quasi selber einer
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz