Zitat von
BassFan:
wollte es so übergeben.
FGetBASS_WINAMPVIS.SetBASS_WINAMPVIS(VisPlgHandle);
Autsch
Also da sind aber nun etliche Fehler drin, in der Hinsicht warst Du jetzt sehr erfinderisch
- Was soll denn FGetBASS_WINAMPVIS sein
- Falls FGetBASS_WINAMPVIS überhaupt irgendwas ist, dann ja wohl ein lokales Feld (Variable), und da willst Du eine Methode aufrufen... Das ist als ob du eine Variable i:integer irgendwo definierst, und dann so Sachen wie i.Seti auf rufst.
Wenn deine Property BASS_WINAMPVIS heisst, dann greif doch von aussen auch nur auf diese Propertty zu. Du hast doch ein Objekt von deiner Klasse instanziert, z.B.
winamp := TAmpHwnd.create ;
Willst Du von aussen was in die Property BASS_WINAMPVIS schreiben, so ruft du halt einfach:
winamp.BASS_WINAMPVIS := 123 ;
oder lesen, halt mit
showmessage (inttostr(winamp.BASS_WINAMPVIS)) ;
Dadurch wird intern die SetBASS_WINAMPVIS bzw. GetBASS_WINAMPVIS aufgerufen, falls denn definiert.
Und nochmal, Du wirst keine einzelnen Methoden oder Properties in einer
DLL exportieren können, sondern nur global definierte Funktionen und Prozeduren, also alles Dinge die ausserhalb deiner Klasse definiert werden müssen.
Lies Dir wirklich mal ein Handbuch zu diesen ganzen Klassensachen durch, denn ich hab das Gefühl, da fehlt das Basisverständnis, was überhaupt im Hintergrund passiert.