Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Undeklarierter Bezeichner (MediaPlayer)

  Alt 19. Mär 2017, 14:45
Wenn ich den String direkt übergebe sagt mir der Compiler es seien zu viele Parameter

DataLink ist global deklariert

Das mit den Klammern habe ich nicht verstanden. Sorry
Logisch...

Es gibt verschiede Arten von Übergrabeparamtetern

Delphi-Quellcode:
Procedure Foo(S : String);
Procedure Foo(Var S : String);
Procedure Foo(Const S : String);
Procedure Foo(Out S : String);
Ohne Parameter wird von der übergebenen Variablen eine Kopie erzeugt.
Lokale Änderungen haben keinen Effekt nach außen.
Hier kannst Du auch Foo('Whatever'); übergeben.

Bei Var, erwartet der Compiler auch eine Variable da diese innerhalb der Procedure änderbar ist. Somit kannst du bei VAR keine Konstante 'Whatever' übergeben.

Const, kann beides übernehmen, da innerhalb der procedure (Compilermagic) der String nicht geändert werden kann...

Out ist fast wie Var - zeigt jedoch, dass die Variable als Ausgabeparameter definiert ist und die Procedure keine Initialisierung hiervon erwartet.

und Klammern weg bedeitet:

S := 'Cool'; und nicht S := ('Cool');
Mavarik
  Mit Zitat antworten Zitat