Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Вниз

Очень странное срабатывание секции INITIALIZATION   Найти похожие ветки 

 
Rouse_ ©   (2009-03-11 13:46) [40]

Ну и картиночка: http://rouse.drkb.ru/other/uw.gif


 
IGray   (2009-03-11 14:31) [41]

Спасибо! Очень любопытная тулзовина!
Жаль, что мой проект не переварила...
За инфу про ModelMaker тоже спасибо!


 
Servy ©   (2009-03-11 14:40) [42]

> Не скажу что у меня прямтаки удобное, я его просто банально
> не довел до конца, т.к. нет времени, а по моим прикидкам
> чтобы довести это дело до ума нужно месяца три.
> Для работы использовали эту утилитку несколько раз чтоб
> понять откуда ноги растут у того или иного модуля, нам в
> принципе для небольшого рефакторинга хватило.
> Воть: 1.4Мб
> http://rouse.drkb.ru/other/unitweb.zip


У меня почему-то не работает :(. "List index out of bounds (-1)" после открытия любого dpr"а, в частности самого простого с одной формой, специально созданного для этого в Delphi 7. И никаких графиков и списков как на скриншоте не появляется. С какой стороны подкрутить, чтобы заработало? ^^


 
Rouse_ ©   (2009-03-11 14:53) [43]

А она умеет только от 2006-ой дельфи и выше проекты кушать :)


 
Rouse_ ©   (2009-03-11 14:55) [44]

Если кому нужно будет - то в могу чуть подправить и выложить полностью с исходниками. Дома в принципе семерка стоит, под нее можно будет допилить...


 
Riply ©   (2009-03-11 15:22) [45]

> [44] Rouse_ ©   (11.03.09 14:55)
> Если кому нужно будет - то в могу чуть подправить и выложить полностью с исходниками.

"Надо, Саша, надо" (с) Почти дословная :)
Очень надо.
Пару дней назад прижало и сама начала писать что-то типа dpr - "парсилки".
А тут такая удача. Так что давай "подправляй и выкладывай полностью с исходниками".
:)


 
Rouse_ ©   (2009-03-11 15:35) [46]

Надо, значит допилю :)


 
Riply ©   (2009-03-11 15:37) [47]

> [45] Riply ©   (11.03.09 15:22)

Сейчас у меня даже получение списка файлов проекта
до конца не реализовано. Споткнулась на конструкциях типа:

{$IFDEF SOME_CONDITION}
{$INCLUDE ..\..\..\MySuperPuper.pas}
{$ENDIF}

т.к. еще не научилась определять "продефайнено" ли здесь(в данном месте данного юнита) SOME_CONDITION или нет.


 
Rouse_ ©   (2009-03-11 15:44) [48]

Я тебе краткое направление дам - сначала определи все дефайны проекта, включая глобальные, потом определи места откуда до кода дефайн включен, потом вычисти все комментарии в тексте, при этом важно отличать дефайн от комментария типа {}, потом удали весь текст в выключеных дефайнах и после этого получишь чистый текстовик который можно элементарно парсить..

У меня все это чиститься за исключением вот таких конструкций:
   {$IF Defined(DEBUG) and Defined(LINUX)} bla..bla {$IFEND}
   {$IF sizeof(Integer) = 4} bla..bla {$IFEND}
   (*$DEFINE TEST *)
   (*$IFDEF TEST *) bla..bla (*$ENDIF*)


 
Riply ©   (2009-03-11 15:54) [49]

> [48] Rouse_ ©   (11.03.09 15:44)
> Я тебе краткое направление дам

Спасибо :)
Но я пока повременю в бой бросатmся - подожду твоих исходников :)


 
Rouse_ ©   (2009-03-11 16:09) [50]

Стукни в аську, в профиле - так проще будет, вдвоем быстрее доведем, а то я в одиночку неделю телепаться буду, если не больше :)


 
Игорь Шевченко ©   (2009-03-11 16:14) [51]

Jedi Code Formatter с исходниками - рулез фарева. Там готовый парсер


 
Palladin ©   (2009-03-11 16:15) [52]

Удалено модератором
Примечание: больше не буду


 
Anatoly Podgoretsky ©   (2009-03-11 19:44) [53]

> Rouse_  (11.03.2009 16:09:50)  [50]

Налицо сговор, один пилит, а вторая допиливает :0)


 
Дмитрий Белькевич ©   (2009-03-11 22:47) [54]

Как всё таки насчет того, что бы колл-стэк посмотреть? С включенными дебажными либами?


 
IGray   (2009-03-11 23:41) [55]

Кол-стек в какой точке?
На какой вопрос Вы ищете ответ?
Я со своим вроде разобрался.. см. IGray  (11.03.09 13:16) [37]
Если нужно - поясню подробнее.


 
Дмитрий Белькевич ©   (2009-03-11 23:56) [56]

>Думаю это уже слишком, т.к. инициализация модулей БЕЗ циркулярных референсов выполняется совершенно спокойно и однозначно...

Увидел.


 
Тын-Дын ©   (2009-03-12 15:15) [57]


> Считал, что секция инициализации по определению вызывается
> первой ВСЕГДА!


Естественно всегда!

Но если в проекте несколько модулей, в каждом есть секция инициализации, то все эти секции выполняются в порядке указания модулей в USES.
Соответственно, если в секции инициализации одного модуля вызывается некая процедура(из этого модуля или из другого - неважно), то эта процедура выполнится до того, как начнётся выполняться инициализация следующих по порядку модулей.

Вроде бы здесь всё логично и вопросо не должно возникать?


 
SPeller ©   (2009-03-18 07:52) [58]

Если в функцию (функции) вставить условие
if not RoutineInitialized then
  InitializeRoutine;

то можно избавиться вообще от секции инициализации и не париться про порядок вызова оных при старте. Если не охота плодить условия в функциях, то можно эти 2 строки вынести во внутреннюю функцию и вызывать уже ее. Лишняя строка читабельность кода не повредит.



Страницы: 1 2 вся ветка

Форум: "Основная";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.006 c
1-1237742925
Eazy
2009-03-22 20:28
2010.02.14
Сфера применения Delphi7


2-1260876051
Boy4uk
2009-12-15 14:20
2010.02.14
графика


2-1260872714
Андрей_11
2009-12-15 13:25
2010.02.14
Combobox


2-1260955745
Wander
2009-12-16 12:29
2010.02.14
Консольная программа в Делфи


1-1237982300
StriderMan
2009-03-25 14:58
2010.02.14
TWinControl.PaintTo() и т.п.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский