Skip to content

Commit 13f3600

Browse files
committed
Релиз 1.2.0.0
1 parent 3db277a commit 13f3600

3 files changed

Lines changed: 34 additions & 4 deletions

File tree

OneScriptNoConsole/OneScriptNoConsole/Program.cs

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class Program
2525
private static string assemblyVersion = "0.0.0.0";
2626
private static string assemblyFileVersion = "0.0.0.0";
2727
private static string myEntryScript = "";
28+
private static string startFrom = "";
2829

2930
[STAThread]
3031
static void Main(string[] args)
@@ -70,6 +71,10 @@ static void Main(string[] args)
7071
myEntryScript = File.ReadAllText(script2.Replace("\u0022", ""), Encoding.UTF8);
7172
}
7273
}
74+
else if (aLine.Substring(0, 11) == "/startFrom=")
75+
{
76+
startFrom = aLine.Replace("/startFrom=", "").Replace("\u0022", "");
77+
}
7378
else if (aLine.Substring(0, 9) == "/company=")
7479
{
7580
assemblyCompany = aLine.Replace("/company=", "").Replace("\u0022", "");
@@ -270,6 +275,7 @@ public static void MakeAssembly()
270275
@" private static string pathEr = currentDirectory + separator + ""error.log"";" + Environment.NewLine +
271276
@" private static string prefix = """" + Environment.NewLine + DateTime.Now + Environment.NewLine;" + Environment.NewLine +
272277
@" private static ArrayImpl attachByPath = new ArrayImpl();" + Environment.NewLine +
278+
@" private static string startFrom = """ + startFrom + @""";" + Environment.NewLine +
273279
@" public int Start()" + Environment.NewLine +
274280
@" {{" + Environment.NewLine +
275281
@" var hostedScript = new HostedScriptEngine();" + Environment.NewLine +
@@ -307,7 +313,17 @@ public static void MakeAssembly()
307313
@" catch {{ continue; }}" + Environment.NewLine +
308314
@" }}" + Environment.NewLine +
309315
@" MyEntryScript.strMyEntryScript = MyEntryScript.strMyEntryScript.Replace(@""#Использовать"", @""//gflvvdur#Использовать"");" + Environment.NewLine +
310-
@" var source = hostedScript.Loader.FromString(MyEntryScript.strMyEntryScript);" + Environment.NewLine +
316+
@" ScriptEngine.Environment.ICodeSource source;" + Environment.NewLine +
317+
@" if (startFrom == ""file"")" + Environment.NewLine +
318+
@" {{" + Environment.NewLine +
319+
@" string strEntryScript = MyEntryScript.strMyEntryScript.Replace(@""//gflvvdur#Использовать"", @""#Использовать"");" + Environment.NewLine +
320+
@" File.WriteAllText(currentDirectory + separator + ""temp.os"", strEntryScript, Encoding.UTF8);" + Environment.NewLine +
321+
@" source = hostedScript.Loader.FromFile(currentDirectory + separator + ""temp.os"");" + Environment.NewLine +
322+
@" }}" + Environment.NewLine +
323+
@" else" + Environment.NewLine +
324+
@" {{" + Environment.NewLine +
325+
@" source = hostedScript.Loader.FromString(MyEntryScript.strMyEntryScript);" + Environment.NewLine +
326+
@" }}" + Environment.NewLine +
311327
@" Process process = hostedScript.CreateProcess(new HostConsole(), source);" + Environment.NewLine +
312328
@" try" + Environment.NewLine +
313329
@" {{" + Environment.NewLine +
@@ -456,6 +472,15 @@ public static void MakeAssembly()
456472
# Для Linux это может выглядеть так: /script=""/home/vlad/Projects/444/Приложение.os""
457473
#/script=[string]
458474
475+
# Источник сценария. Или файл на диске, или строка с текстом сценария, внедренная в exe файл.
476+
# Сценарии не использующие пакеты односкрипта из каталога lib могут быть запущены из строки,
477+
# внедренной в exe файл. Если же будут задействованы пакеты односкрипта из каталога lib
478+
# во избежание ошибок файл сценария необходимо будет сначала записать на диск.
479+
# Сценарий будет записан под именем temp.os а затем запущен.
480+
# ""file"" - старт из файла (по умолчанию)
481+
# ""string"" - старт из строки
482+
/startFrom=""file""
483+
459484
# Название компании.
460485
#/company=[string]
461486

OneScriptNoConsole/OneScriptNoConsole/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@
3131
// Можно задать все значения или принять номера сборки и редакции по умолчанию
3232
// используя "*", как показано ниже:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly: AssemblyVersion("1.1.2.0")]
35-
[assembly: AssemblyFileVersion("1.1.2.0")]
34+
[assembly: AssemblyVersion("1.2.0.0")]
35+
[assembly: AssemblyFileVersion("1.2.0.0")]

docs/OSNC.MakeExe.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,12 @@ <H1 class=dtH1>Создание EXE файла запуска стартовог
8282
</div>
8383
</figure>
8484
<li>В том же каталоге будет сформирован файл <B>oscript.cfg</B>, каталог <B>lib</B> с файлом <B>package-loader.os</B>. Не удаляйте четыре файла библиотек односкрипта.
85-
В каталог <B>lib</B> при необходимости скопируйте нужные Вам пакеты библиотек. В большинстве случаев это не требуется.</li>
85+
В каталог <B>lib</B> при необходимости скопируйте нужные Вам пакеты библиотек. В большинстве случаев это не требуется.
86+
Обратите внимание, наш файл <B>oscript.cfg</B> будет немного отличаться от односкриптового файла <B>oscript.cfg</B> строкой:
87+
<P><PRE class=code>
88+
lib.system = lib
89+
</PRE>
90+
Так что простое копирование из каталога <B>bin</B> может привести к неудачному запуску.</li>
8691
<li>После этого можно удалить файлы <B>settings.cfg</B>, <B>error.log</B> и файл стартового сценария. Файл стартового сценария будет интегрирован
8792
в исполняемый <B>EXE</B> файл.</li>
8893
<P>Так как окна терминала у нас не будет все сообщения при компиляции и при работе скомпилированной программы будут записаны в файл <B>error.log</B>.</P>

0 commit comments

Comments
 (0)