ďťż

Ładny brzuch

[Error] NAZWA.pas(100): Types of actual and formal var parameters must be identical

Co on oznacza i jak go naprawić?



Napisz jaka to funkcja.

var  MEDIA : IMediaSeeking; [...] MEDIA.SetPositions(CZ,AM_SEEKING_AbsolutePositioning,StopPos,AM_SEEKING_NoPositioning);

IMHO parametr do danej procedury/funkcji powinien być przekazywany poprzez zmienna a Ty przekazujesz poprzez referencję lub stałą.

Na przykład funkcja jest taka:

function Funkcja(var x: integer): integer

to nie możesz jej wywołać w ten posób:

Funkcja(StrToInt(Edit1.Text)); ani
Funkcja(10);

tylko musisz tak:

var S: integer; begin S := StrToInt(edit1.text); Funkcja(S); edit1.text := S; end;
Użytkownik programista1101 edytował ten post 20 czerwiec 2005, 11:40


Tylko że ja wszystko przekazuje ze zmiennych :(

Ad #4 hmmm...

function RazyDwa(I : integer) : Integer; begin  Result := I*2; end;
i
procedure TForm1.Button1Click(Sender: TObject); begin  ShowMessage(IntToStr(RazyDwa(StrtoInt(Edit1.Text)))); end;

u mnie działa więc ?? :>

// hy hy hy nie zauważyłem var :D
Użytkownik Bełdzio edytował ten post 20 czerwiec 2005, 11:44
A nie wszystko :P Pierwsza i trzecia zmienna jest też zwracana i powinna być typu (chyba, bo to jest z c++) longint lub @longint ;)
http://msdn.microsof...etpositions.asp
Użytkownik Cyrkiel edytował ten post 20 czerwiec 2005, 11:43
One są Integer;


One są Integer; Więc spróbuj zamienić na longint i/lub w funkcji użyć @CZ i @StopPos ;)

W żaden możliwy sposób niechce skąpilować :(

OK. Zmienna musiała być typu Int64 jak w funkcji. Dzienks :)

//Sorki za dwa posty jeden pod drugim :(

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •