Zobrazit plnou verzi příspěvku: Menu - načtení aplikace na stisk tlačítka
Dobrý den, mám vytvořeno menu kde mám odkaz na ARX aplikaci a provedení určitého příkazu. Viz.: ID_AutoDWF [Auto&DWF]^C^CAutoDWF
Aplikaci načítám přes soubor MNS. Nicméně chtěl bych u této aplikace udělat výjimku a načíst ji teprve až při stisku dané položky v menu . Tzn. aby se mi nenačítal při každém spouštění? Jde neco takového provést? Mohl by mi někdo uvést nějaký vzorový zápis?
S pozdarvem
PepaPepaR38440.4611458333
Jan Liska
29.03.2005, 11:11
Dobrý den,
pro ARX aplikace můžete použít tzv. demand load načítání pomocí registrů. To umožní, že při zadání příkazu AutoCAD prohledá registry a pokud aplikace ještě neni načtena, tak ji načte.
Příklad je např: HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.1\ACAD-301: 409\Applications\AcadAppload
S pozdravem
S pozdravem
Ano máte pravdu, je to jedno z řešení avšak menu je používáno na různých verzích AutoCADu a mě šlo o to zda nejde do mnou uváděného příkazu natvrdo zaúpsat aby při prvním stisku tlačítka či použití dané fce se přímo načetla aplikace nacházejicí v daném podporovaném adresáři AutoCADu.
Jan Liska
29.03.2005, 11:53
Dobrý den,
to by neměl být problém. Každá verze AutoCADu ma "svou" větev v registru, takže můžete do hodnoty LOADER uvést název jiného souboru ARX (podle verze).
S pozdravem
Pro takovéhle načítání funkce v lispu používám např. následující řádek v menu:
ID_hatcha [_Button("Plocha šrafy", "hatcha.bmp", "ICON_16_BLANK")]^C^C(if (not c:hatcha) (load "hatcha"));hatcha
Pro arx by místo "load" mělo být (asi) "arxload"
Děkuji mnohokrát p. Mantlíku, přesně to jsem měl na mysli.
S pozdravem
PepaPepaR38440.6529513889
Vladimír Michl
30.03.2005, 10:53
pro AutoDWF je to (if(not C:AUTODWF)(load"AUTODWF")), ale zrovna u AutoDWF bych tento způsob moc nedoporučoval - je to reaktor, který by asi měl být aktivní i bez předchozí intervence uživatele (a příkaz AutoDWF je jen nastavovací příkaz, nikoliv výkonný příkaz)