Вам будет сложно получить имя пользователя, не будучи администратором на компьютере.
Ни один из методов с WMI через OpenProcess или с использованием WTSEnumerateProcesses не даст вам имя пользователя, если вы не являетесь администратором. Попытка включить SeDebugPrivilege и т. Д. Тоже не работает. Я все еще вижу код, который работает, не будучи администратором.
Если кто-нибудь знает, как получить это БЕЗ администратора на машине, он запускается, напишите, как это сделать, поскольку у меня есть не выяснили, как включить этот уровень доступа к пользователю службы.
Flash по-прежнему имеет файл ASO, который является скомпилированным байтовым кодом. для ваших занятий. В Windows вы можете увидеть файлы ASO здесь:
C:\Documents and Settings\username\Local Settings\Application Data\Adobe\Flash CS4\en\Configuration\Classes\aso
На Mac структура каталогов аналогична в / Users / username / Library / Application Support /
. Вы можете удалить эти файлы вручную или в Flash, вы можете выбрать Control-> Delete ASO files
, чтобы удалить их.
Что, если вы скомпилируете его на другой машине? Свежий установленный был бы прекрасен. Надеюсь ваша машина не завидует.
Чтобы изменить цвета текста легенды по отдельности, необходимо сначала получить дескрипторы для текстовых объектов, которые являются потомками объекта легенды. Затем можно изменить их цвета текста отдельно. Вот пример того, как это можно сделать:
plot(1:10, rand(1, 10), 'r'); % Plot a random line in red
hold on;
plot(1:10, rand(1, 10), 'b'); % Plot a random line in blue
hLegend = legend('a', 'b'); % Create the legend
hKids = get(hLegend, 'Children'); % Get the legend children
hText = hKids(strcmp(get(hKids, 'Type'), 'text')); % Select the legend children
% of type 'text'
set(hText, {'Color'}, {'b'; 'r'}); % Set the colors
Обратите внимание, что порядок цветов в последней строке синий , затем красный, в обратном порядке того, как метки передаются функции легенда
. Вышесказанное даст вам следующий график:
У меня нет полного ответа, но я думаю, что метод _ добавленный может быть полезен здесь.
-121--3823361-Я нашел одно связанное поведение, которое может помочь (похоже, ваша конкретная проблема работает глубже):
Flash проверяет, нуждается ли исходный файл в повторной компиляции, глядя на временные метки. Если скомпилированная версия старше исходного файла, она будет перекомпилирована. Но он не проверяет, была ли скомпилированная версия сгенерирована из того же исходного файла или нет.
В частности, если у вас есть файлы actionscript под управлением версии, и вы отмените изменение, то у возвращенного файла обычно будет более старая метка времени, и Flash проигнорирует его.
У вас есть несколько SWF-файлов? Если ваш класс импортируется в один из SWF-файлов, другие SWF-файлы также будут использовать ту же версию этого класса. Один старый импорт с * в одном swf сделает это. Перекомпилируйте все и посмотрите, работает ли.
Попробуйте удалить файлы ASO.
Файлы ASO - это кэшированные скомпилированные версии ваших файлов классов. Хотя IDE намного лучше избавляется от старых кешей при внесении изменений, иногда вам приходится удалять их вручную. Чтобы удалить файлы ASO: «Управление»> «Удалить файлы ASO».
Это также является причиной ошибки «Я-не-вижу-свои-изменения-так-позвольте-мне-добавить-трассировать-сейчас-все-работает», которая появилась в CS3.
Кроме того, чтобы использовать свой новый класс с пространством имен, вы также можете сделать
var jenine:com.newnamespace.subspace.Jenine = com.newnamespace.subspace.Jenine()