Salamander sa spúšťa s defaultným kontextom

Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
ras22
Posts: 2
Joined: 30 Dec 2016, 09:35

Salamander sa spúšťa s defaultným kontextom

Post by ras22 » 30 Dec 2016, 09:47

Salamander nerešpektuje "dynamickú" zmenu v Enviroment Variables, napr. v batchi : Set PATH=%PATH%;C:\xxx a potom spustenie "C:\...\salamander.exe" vedie iba k spusteniu Salamandra s defaultnými systémovými premennými (v danom príklade PATH nebude obsahovať C:\xxx). Testoval som Far a TotalManager na túto vlastnosť, a tam to funguje, tak ako má.

Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5196
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Salamander sa spúšťa s defaultným kontextom

Post by Jan Rysavy » 31 Dec 2016, 03:04

Pod Windows 7 tento problém nemohu reprodukovat. Jaký operační systém používáte a jakou verzi Salamandera?

ras22
Posts: 2
Joined: 30 Dec 2016, 09:35

Re: Salamander sa spúšťa s defaultným kontextom

Post by ras22 » 31 Dec 2016, 12:24

Pripajam teda 2 subory na zreprodukovanie "problemu". Prvy bat prida do cesty C:\xxx a spusti salamander, druhy bat treba spustit zo salamandra. Vypise PATH a v PATH bude chybat C:\xxx. Pouzivam Win 10 a Salamander 3.08, ale to je myslim v danom probleme irelevantne, salamander pravdepodobne pri svojom starte nenacitava aktualne pristredie, ale defaultne.
Attachments
salamVariables.zip
(Musel som to zipnut, lebo subory s bat priponou toto forum neberie.Ani s bat_ .)
(352 Bytes) Downloaded 77 times

Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5196
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Re: Salamander sa spúšťa s defaultným kontextom

Post by Jan Rysavy » 31 Dec 2016, 20:16

Aha, už jsem v obraze. Máte pravdu, že tuto situaci jsme v rámci zjednodušení neřešili. Příčinou je automatická regenerace env. proměnných za běhu Salamandera, díky které není třeba restart Salamandera pro načtení aktuálního stavu proměnných. Salamander chytá notifikace o změně a aktuální proměnné merguje do svého procesu. Merge máme implementovaný do úrovně přidání a odebrání proměnné, ale vynechali jsme merge na úrovni změny proměnné a to je přesně na co jste narazil.

Za ty roky jste asi první, kdo tento problém ohlásil, takže jsme to zatím neřešili. Pravděpodobně by bylo možné provést merge i v rámci takto změněných proměnných, mrknu se do kódu, co by to obnášelo a proč jsme to rovnou neimplementovali.

Edit: našel jsem komentář:

Code: Select all

        // diference zatim ignorujeme, napriklad v PATH, atd

Post Reply