SkepticalFox 1,445 #279645 Posted June 26, 2015 (edited) Я юзаю вот такую штуку UFileDrop.zipСтранно все это! Этот файл не виноват. Мне нужно знать, что именно происходит при инициализации окна. Edited June 26, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279650 Posted June 26, 2015 (edited) при инициализации окна Что ты подразумеваешь под этим словом? Перехват событий и обработка идет именно в UFileDrop. Это позволяем мне ни чего не колбасить самому в коде Ориона. Я только создаю экземпляр класса TFileDropTarget в FormCreate и назначаю ему процедуру юзнания списка файлов на его эвент OnFilesDropped(DropInfo: TDragDropInfo). В процедуре юзаю DropInfo.Files.Count и DropInfo.Files[0], беру имя файла, открываю, читаю и т.д.. На этом моя работа с ДрагЭндДроп заканчивается. Edited June 26, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
DrWebber 5 #279656 Posted June 26, 2015 У меня не получилось запустить скрипт с новым протектором, возникает исключение такое как снизу. Причем не важно откуда запускать, из игры, из консоли или из PjOrion'a - не работает нигде. Пробовал с различными опциями протектора. Traceback (most recent call last): File "CameraNode.py", line 22, in load_mods File "<string>", line 1, in <module> File "test", line 1, in <pjorion_protected> File "test", line 1, in File "test", line 1, in NameError: global name '__builtin__' is not defined Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279657 Posted June 26, 2015 беру имя файла, открываю, читаю и т.д.. Похоже сбой происходит при чтении. Может сделаешь лог файл в Орионе и мы перестанем гадать? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279658 Posted June 26, 2015 Похоже сбой происходит при чтении. Может сделаешь лог файл в Орионе и мы перестанем гадать? А может ты со своим кривым вином пойдешь сушки сосать и тогда мне даже делать ни чего не придется? Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279663 Posted June 26, 2015 (edited) А может ты со своим кривым вином пойдешь сушки сосать и тогда мне даже делать ни чего не придется? Заманчиво. Edited June 26, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279669 Posted June 26, 2015 (edited) Заманчиво. Но на win не вернусь. Вставил обертку, погляди чего напишет Edited June 26, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279682 Posted June 26, 2015 (edited) Вставил обертку, погляди чего напишет Такс. И где смотреть? Попробую сейчас поставит wine beta, может в нем дело. Я могу перетаскивать окно "Select processor", но не могу ничего в нем нажать) Причем это окно появляется рандомно. Все дело в этом окошке. Я уверен! Edited June 26, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279686 Posted June 26, 2015 (edited) У меня не получилось запустить скрипт с новым протектором, возникает исключение такое как снизу. Причем не важно откуда запускать, из игры, из консоли или из PjOrion'a - не работает нигде. Пробовал с различными опциями протектора. Поправил косячок. Пробуй Альфу 2 - ТЫЦ. Я могу перетаскивать окно "Select processor", но не могу ничего в нем нажать) Извини конечно, но думаю сам понимаешь что копаться в глюках виртуального движка у меня нет ни каких желаний. Все дело в этом окошке. Я уверен! Ну чего такого с ним может быть? Обычная форма, свойства: object FProcessorSelection: TFProcessorSelection Left = 669 Top = 446 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'Select processor' ClientHeight = 224 ClientWidth = 537 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -13 Font.Name = 'Segoe UI' Font.Style = [] KeyPreview = True OldCreateOrder = False Position = poDesktopCenter OnKeyUp = FormKeyUp PixelsPerInch = 120 TextHeight = 17 object bOK: TButton Left = 136 Top = 185 Width = 130 Height = 28 Caption = 'OK' ModalResult = 1 TabOrder = 1 end object bCancel: TButton Left = 272 Top = 185 Width = 130 Height = 28 Caption = 'Cancel' ModalResult = 2 TabOrder = 2 end object rgDecompiler: TRadioGroup Left = 8 Top = 3 Width = 521 Height = 166 Columns = 2 TabOrder = 0 end end Вызывается в обработчике эвента дроппера вот так: with TFProcessorSelection.Create(Application) do try rgDecompiler.Items.Append(aDCUncompyle2.Caption); rgDecompiler.Items.Append(aDCDecompylePP.Caption); rgDecompiler.Items.Append(aDCFupy.Caption); rgDecompiler.Items.Append(aDCUnpyc.Caption); rgDecompiler.Items.Append('Show bytecode info (Python 2.3-3.4)'); rgDecompiler.Items.Append('Disassemble file (Python 2.3-3.4)'); rgDecompiler.ItemIndex:=Num; Result:=ShowModal; if Result = mrOK then Num:=rgDecompiler.ItemIndex; finally Free; end; Edited June 26, 2015 by StranikS_Scan 2 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279691 Posted June 26, 2015 Result:=ShowModal;if Result = mrOK then Разве не так? ModalResult:=ShowModal; if ModalResult = mrOK then Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279693 Posted June 26, 2015 (edited) Разве не так? ModalResult:=ShowModal; if ModalResult = mrOK then Мы снаружи а не внутри, Result просто названа Result, это локальная пырменная в OnFilesDropped, код выше находится внутри OnFilesDropped, который срабатывает при ДрагАндДроп. А ModalResult находится внутри TFProcessorSelection и именно значение ModalResult и возвращает функция ShowModal function OnFilesDropped(...)...; var Result begin ... with TFProcessorSelection.Create(Application) do try ... Result:=ShowModal; ... finally Free; end; ... end; Edited June 26, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279696 Posted June 26, 2015 (edited) Мы снаружи а не внутри, Result просто названа Result, это локальная пырменная в OnFilesDropped, код выше находится внутри OnFilesDropped, который срабатывает при ДрагАндДроп. А ModalResult находится внутри TFProcessorSelection и именно значение ModalResult и возвращает функция ShowModal procedure ShowWoTTwk_dll(handle: THandle); begin application.handle:=handle; WotTweakerForm:=TWotTweakerForm.create(application); try WotTweakerForm.ShowModal; finally WotTweakerForm.Free; end; end; ShowWoTTwk_dll(Application.handle); Мой твикер работал так. Значит не в форме дело... Дело в кривом Вине! Edited June 26, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279698 Posted June 26, 2015 procedure ShowWoTTwk_dll(handle: THandle); begin application.handle:=handle; WotTweakerForm:=TWotTweakerForm.create(application); try WotTweakerForm.ShowModal; finally WotTweakerForm.Free; end; end; ShowWoTTwk_dll(Application.handle); Мой твикер работал так. Значит не в форме дело... Дело в кривом Вине! Может с настройками формы чего не так? Я их вверху приводил, попробуй взять форму настроить также и вызвать модально. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279772 Posted June 27, 2015 (edited) Может с настройками формы чего не так? Я их вверху приводил, попробуй взять форму настроить также и вызвать модально. Модальное окно Run->Parameters запускается без ошибок, чем код этого окна отличается от кода Select processor? Мне кажется не передается управление этому окну. Edited June 27, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279773 Posted June 27, 2015 чем код этого окна отличается от кода Select processor? Ни чем. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #279795 Posted June 27, 2015 (edited) Ни чем. Ладно. Пофиг на это. DLL Python 2.7.10 будет? Edited June 27, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #279858 Posted June 28, 2015 Ладно. Пофиг на это. DLL Python 2.7.10 будет? Если вышло - значит будет. Quote Share this post Link to post Short link Share on other sites
KACTET 317 #279935 Posted June 28, 2015 Если вышло - значит будет. Читал ещё патч есть с более высоких версий что скорость добавляет этой значительно. 3 Quote Share this post Link to post Short link Share on other sites
fecell 125 #280011 Posted June 29, 2015 (edited) Делать сложный анализатор не хочется, я чисто на regExp сделал. все уже сделано до нас ;) https://docs.python.org/2/library/ast.html в помощь + погугли решения как из ast обратно собрать исходник (там как раз комменты пропускать можно. под рукой нет сейчас. если что позже скину). Edited June 29, 2015 by fecell Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #280013 Posted June 29, 2015 (edited) все уже сделано до нас ;) https://docs.python.org/2/library/ast.html в помощь + погугли решения как из ast обратно собрать исходник (там как раз комменты пропускать можно. под рукой нет сейчас. если что позже скину). Ты не понял, я сделал не в питоне а на пасике через TRegExp, он вполне справляется. Под питон есть же минифер, причем новый, можно его заюзать. Edited June 29, 2015 by StranikS_Scan 1 Quote Share this post Link to post Short link Share on other sites