ich habe in der Befehls-Zeile auch Parameter was bei einem normalen Aufruf des Link funktioniert.
wenn ich nun das Resultat von ShellLinkResolve() ansehe fehlen mir die Parameter !
und was nun ...
---
so ich habe das ganze jetzt native gelöst und ein kleine Problem
Code: Alles auswählen
cTarget := oShellLink:Path
cPara := oShellLink:Arguments
der Versuch das ganze in "" zu setzten endete mit dieser Fehlermeldung. "irgendwie" wird es von Windows unterteilt und die Parameter landen unter o:Arguments
ich könnte jetzt den String, wenn Parameter, so zusammenbauen ...
Code: Alles auswählen
RETURN cTarget + IF(EMPTY(cPara),""," "+cPara)
Runshell() oder ShellExecuteA() brauchen die Parameter und akzeptieren den "ganzen" String nicht.
ich müsste den String dann wieder untersuchen ob es Parameter gibt und die raus holen ...
alternative wäre ein Array ... sinnvoll denn es gäbe ja noch anderen Informationen z.b. Hotkey ShortCut.
das wäre dann aber nicht mehr kompatible zu Xbase++ ShellLinkResolve() ...
---
wenn ich nun CHR(0) verwende
Code: Alles auswählen
RETURN cTarget + IF(EMPTY(cPara),"",CHR(0)+cPara)
Code: Alles auswählen
cFull := DXE_ShellLinkResolve( cPath + cName )
nPosi := AT(CHR(0),cFull)
IF nPosi > 0
msgbox(cFull,"mit CHR(0)")
cPara := SUBSTR(cFull,nPosi+1)
cFull := SUBSTR(cFull,1,nPosi-1)
SHELLOPENFILE(cFull,,cPara)
ELSE
SHELLOPENFILE(cFull)
ENDIF
was sagt ihr zu dieser Lösung für die DXE Lib