Zobrazit plnou verzi příspěvku: Menu - načtení aplikace na stisk tlačítka

PepaR
29.03.2005, 11:03
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

PepaR
29.03.2005, 11:46
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

Mantlík
29.03.2005, 15:06
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"
 

PepaR
29.03.2005, 15:39
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)