Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktion richtig deklarieren (https://www.delphipraxis.net/152732-funktion-richtig-deklarieren.html)

AlexII 4. Jul 2010 11:04

Delphi-Version: 2005

Funktion richtig deklarieren
 
Hallo,

ich hab eine Funktion geschrieben, aber irgendwie bekomme ich sie nicht zum laufen, wer kann mir da helfen?

Delphi-Quellcode:
  private
    { Private-Deklarationen }
    function VolumeChange(Position: Integer): Integer;


function TForm1.VolumeChange(Position: Integer): Integer;
begin
if Position=0 then
begin
VolumeLow.Visible:=False;
VolumeMedium.Visible:=False;
VolumeHigh.Visible:=False;
VolumeMuted.Visible:=True;
end else if (Position>0) and (Position<=33) then
         begin
         VolumeLow.Visible:=True;
         VolumeMedium.Visible:=False;
         VolumeHigh.Visible:=False;
         VolumeMuted.Visible:=False;
         end else if (Position>33) and (Position<=66) then
                  begin
                  VolumeLow.Visible:=False;
                  VolumeMedium.Visible:=True;
                  VolumeHigh.Visible:=False;
                  VolumeMuted.Visible:=False;
                  end else
                      begin
                      VolumeLow.Visible:=False;
                      VolumeMedium.Visible:=False;
                      VolumeHigh.Visible:=True;
                      VolumeMuted.Visible:=False;
                      end;

BASS_ChannelSetAttribute(chan, BASS_ATTRIB_VOL, Position/100);
end;

procedure TForm1.VolumeBarChange(Sender: TObject);
begin
VolumeBarChange(VolumeBar.Position); <-- hier ist der Fehler "Inkompatible Typen: 'TObject' und 'Integer'"
end;
Muss dazu noch sage, dass mich noch ein bisschen schlecht mit Funktionen auskenne.

jfheins 4. Jul 2010 11:08

AW: Komme mit einer Funktion nicht weiter
 
-- vergiss es, ich sehe die Fehlermeldung jetzt --- :oops:

Vielleicht noch ein Hinweis, damit mein Post nicht ganz für die Katz ist: Die Codeeinrückung gefällt mir gar nicht. :mrgreen:

Matze 4. Jul 2010 11:09

AW: Komme mit einer Funktion nicht weiter
 
Delphi-Quellcode:
VolumeBarChange(VolumeBar.Position); <-- hier ist der Fehler "Inkompatible Typen: 'TObject' und 'Integer'"
Deine Funktion heißt "VolumeChange". "VolumeBarChange" ist die Methode von der TTrackBar o.ä. ;)

@Julius: Die Fehlereldung steht im Code. Ich habe sie auch erst übersehen.
@Alex: Da du keinen Wert in der Funktion zurück gibst (kein "Result := ..."), kannst du eine Prozedur daraus machen:

Delphi-Quellcode:
procedure TForm1.VolumeChange(Position: Integer);

mkinzler 4. Jul 2010 11:09

AW: Komme mit einer Funktion nicht weiter
 
Wolltest du nicht VolumeChange() statt .VolumeBarChange() aufrufen?

BTW. Auch das neue Forum unterstützt den Delphi-Tag!

SirThornberry 4. Jul 2010 11:11

AW: Komme mit einer Funktion nicht weiter
 
@AlexII: Bitte gib dem Thema einen aussagekräftigen Titel. :)

guinnes 4. Jul 2010 11:13

AW: Komme mit einer Funktion nicht weiter
 
Warum eigentlich eine Function, wenn du kein Ergebnis zurücklieferst ?

AlexII 4. Jul 2010 11:15

AW: Komme mit einer Funktion nicht weiter
 
Zitat:

Zitat von SirThornberry (Beitrag 1033371)
@AlexII: Bitte gib dem Thema einen aussagekräftigen Titel. :)

Wo mache ich das? Blicke hier nicht durch :roteyes:

AlexII 4. Jul 2010 11:16

AW: Komme mit einer Funktion nicht weiter
 
Zitat:

Zitat von guinnes (Beitrag 1033373)
Warum eigentlich eine Function, wenn du kein Ergebnis zurücklieferst ?

Ja... ok ich ändere das. :thumb:

Und sonst ist alles ok? auch die Deklaration der Funktion in "Private"?

mkinzler 4. Jul 2010 11:17

AW: Komme mit einer Funktion nicht weiter
 
Antwort Bearbeiten-> Erweiteter Editor

AlexII 4. Jul 2010 11:17

AW: Komme mit einer Funktion nicht weiter
 
Zitat:

Zitat von jfheins (Beitrag 1033368)
Vielleicht noch ein Hinweis, damit mein Post nicht ganz für die Katz ist: Die Codeeinrückung gefällt mir gar nicht. :mrgreen:

Also für mich ist es besser so, voll Übersichtlich. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
Seite 1 von 4  1 23     Letzte »    

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