Moin Kiffi,
besten Dank für deine Infos.
'Global VBS$'...
ist schon klar das es überflüssig wie`n Kropf ist, wollte nur zeigen dass es mit "Global" genausowenig geht.
..Solange Du (oder sonstwer) sie nicht neu kompiliert,...
Unter 4.20 neu kompiliert hatte ich bereits (mit neuester TailBilte), hatte ich weiter oben auch schon mal gepostet.
Das neu kompilieren hat aber nicht geholfen
Aber ich glaube schon, das die Memoryverwaltung (oder was auch immer) in 4.20 anders ist. Wie bereits gepostet: die ReadFunctions der JHRegistry_420 LIB (wie der Name sagt - für 4.20) haben selbiges Problem
... das von Thomas gepostete Beispiel...
jo, das geht gut.
Leider kriege es nicht hin, diese entsprechend umzubauen
Ich poste mal meinen Versuch, evtl. kann mir ja mal jemand Hilfe geben:
Es ist für mich unklar, was innerhalb der Procedure GetTag abzulaufen hat, und was hinterher mit dhGetValue() "abzugreifen" ist.
Grüsse
Bernd
Code: Alles auswählen
EnableExplicit
Procedure.s GetTags(File$)
Protected Script$
; Object klar machen
Script$ = "Set oWMP = CreateObject(" + Chr(34) + "wmPlayer.ocx" + Chr(34) + ") " + #CRLF$
Script$ + "Set oMedia = oWMP.newMedia("+Chr(34)+File$+ Chr(34)+")" + #CRLF$
;Read
;Script$ + "Bitrate=oMedia.GetIteminfo(" + Chr(34) + "Bitrate"+ Chr(34) + ") " + #CRLF$
ProcedureReturn Script$
EndProcedure
dhToggleExceptions(#True)
Define.l Result, obj = dhCreateObject("MSScriptControl.ScriptControl")
Define.s Script
If obj
dhPutValue(obj, "Language = %T", @"VBScript")
dhGetValue("%T", @Result, obj, "Language")
If Result
Debug "Language: " + PeekS(Result)
dhFreeString(Result) : Result = 0
EndIf
dhPutValue(obj, "TimeOut = %d", 20000)
dhGetValue("%d", @Result, obj, "TimeOut")
Debug "TimeOut: " + Str(Result) + " ms"
Script = GetTags("c:\test\All Saints - Black Coffee.mp3")
dhCallMethod(obj, "AddCode(%T)", @Script)
; -> bis hierin OK, aber dann....
dhGetValue("%T", @Result, obj, "GetIteminfo(%T)", @"Bitrate")
;--> dhGetValue... geht schon nicht mehr "object doesn`t support..."
; ---> was mach ich denn da verkehrt ?
If Result
MessageRequester("Bitrate:", PeekS(Result), #MB_ICONINFORMATION)
dhFreeString(Result) : Result = 0
EndIf
dhReleaseObject(obj) : obj = 0
EndIf