"Esben Piltoft" <piltoft@mail1.stofanet.dk> wrote in
news:3b48126b$0$3240$ba624c82@nntp01.dk.telia.net:
>> type
>> TLyd = class(TThread)
>> private
>> FLydFil: string; protected
>> procedure Execute; override; public
>> property LydFil: string
>> read FLydFil
>> write FLydFil; end;
>>
>> procedure TLyd.Execute; begin
>> if FileExists(LydFil) then
>> PlaySound(Pchar(LydFil), 0, SND_FILENAME);
>> FreeOnTerminate := True; end;
>>
>> Så sætter du bare din TLyd's LydFil property før du kalder starter
>> tråden, så skuylle den spille lige så lystigt :)
>
>
> Med "Starter tråden" mener du så: TLyd.Create(false);?
>
> Og hvordan sætter jeg LydFil's property: TLyd.LydFil :=
> 'woohoo.wav'; (giver en "Method identifier expected" compiler-fejl).
> LydFil eksisterer vel ikke uden for klassen TLyd?
Jo LydFil er kendt udefra hvis propertien (eller hvordan man nu bøjer det
:) ), står under public delen i klassedefinitionen.
Men du forsøger at sætte værdien af LydFil på klassen og ikke på en
instans af klassen, se:
var
Lyd: TLyd;
begin
Lyd := TLyd.Create(true); // Opretter instansen, men undlader at køre
endnu!
Lyd.LydFil := 'foo.wav';
Lyd.resume;
end;
Claus
--
Claus Christiansen, <mailto:cch@unipeople.dk>
personal:
http://www.bigfoot.com/~kruc/; pythia:
http://www.pythia.dk
============================================--------------------------
"Computers are useless. They can only give you answers."
- Pablo Picasso (1881-1973)