Re: Спрощений Нарізач Сканованих Зображеня by ADR
Остання версія. (походу виправляв дрібні помилки... не пам'ятаю)
Simple Cutter Scanned Images v0.1.1 Beta
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Pascal/Delphi → Спрощений Нарізач Сканованих Зображеня by ADR
Остання версія. (походу виправляв дрібні помилки... не пам'ятаю)
Simple Cutter Scanned Images v0.1.1 Beta
Вношу пропозицію про перейменування Simple Cutter Scanned на чекатило, що приверне увагу до цього проекту а значить і до форуму. чЕкати по-східняцьки значить різати, тож запропонована назва чітко вказує на призначення програми.
перед створенням нової вітки (напр 0.2) ще вернемось до цієї теми і вибиремо кращий варіант)
А як транслітувати на англ? Chekatylo?
а ти в якій студії робив? може в XE6 це вже виправили?
Робив у XE5. Що там у шостій іще не дивився, думаю стандартний клієнт як був без підтримки git-у так і лишився. VersionInsight Plus оновився лише два дні назад. Схоже останнім часом у них рекомендованою є компіляція експертів у вигляді єдиної dll. А проекти для компіляції у вигляді окремих експертів, якими я користувався, вони давно не оновлювали, звідси й проблеми.
Остання версія. (походу виправляв дрібні помилки... не пам'ятаю)
Варто викласти на SourceForge.
Я гадаю що варто відділити власне нарізач зображень від графічного інтерфейсу, щоб можна було надавати стороннім розробникам API, як просто DLL функції, так і СОМ+ об’єкт, а тоді понаписувати біндінги до популярних мов програмування. Вангую, що деякі користувачі AutoHotkey і AutoIt мріють про подібну бібліотеку для своїх мов програмування. Це дуже зручно - кльоцьнути на клавішу, обрати теку і отримати купу сканованих зображень в потрібному місці. Про командний рядок теж не варто забувати.
Я гадаю що варто відділити власне нарізач зображень від графічного інтерфейсу, щоб можна було надавати стороннім розробникам API, як просто DLL функції, так і СОМ+ об’єкт, а тоді понаписувати біндінги до популярних мов програмування. Вангую, що деякі користувачі AutoHotkey і AutoIt мріють про подібну бібліотеку для своїх мов програмування. Це дуже зручно - кльоцьнути на клавішу, обрати теку і отримати купу сканованих зображень в потрібному місці. Про командний рядок теж не варто забувати.
Код і є розділеним... Хіба треба оформити у вигляд DLL.
Ніяк не знайду час на проект...
мда... ще трохи раніше поставив Delphi XE6 (думав там вже нова версія svn/git)...
ну ладно що з Canvas`ом тепер треба трохи по іншому працювати (BeginScena/EndScena чи якось так, тепер треба писати)
так ще й чи то FileStream чи то кодек, поламали...
короче тепер через раз, читає і записує зображення (часто тупо чорне робить)
ПС я, походу, якось дивно це написав) йду спати))
Вношу пропозицію про перейменування Simple Cutter Scanned на чекатило, що приверне увагу до цього проекту а значить і до форуму. чЕкати по-східняцьки значить різати, тож запропонована назва чітко вказує на призначення програми.
За те по західняцькому - перевіряти якщо не помиляюсь .
0xDADA11C7 написав:Вношу пропозицію про перейменування Simple Cutter Scanned на чекатило, що приверне увагу до цього проекту а значить і до форуму. чЕкати по-східняцьки значить різати, тож запропонована назва чітко вказує на призначення програми.
За те по західняцькому - перевіряти якщо не помиляюсь .
"перевіряти" це зовсім не "різати"))
мда... ще трохи раніше поставив Delphi XE6 (думав там вже нова версія svn/git)...
ну ладно що з Canvas`ом тепер треба трохи по іншому працювати (BeginScena/EndScena чи якось так, тепер треба писати)
так ще й чи то FileStream чи то кодек, поламали...
короче тепер через раз, читає і записує зображення (часто тупо чорне робить)ПС я, походу, якось дивно це написав) йду спати))
Кодек запросто могли переробити. Спробуйте сторонній: Vampyre Imaging Library. Щоправда я не в курсі, чи працюватиме він під FM.
ADR написав:мда... ще трохи раніше поставив Delphi XE6 (думав там вже нова версія svn/git)...
ну ладно що з Canvas`ом тепер треба трохи по іншому працювати (BeginScena/EndScena чи якось так, тепер треба писати)
так ще й чи то FileStream чи то кодек, поламали...
короче тепер через раз, читає і записує зображення (часто тупо чорне робить)ПС я, походу, якось дивно це написав) йду спати))
Кодек запросто могли переробити. Спробуйте сторонній: Vampyre Imaging Library. Щоправда я не в курсі, чи працюватиме він під FM.
а в іншій, тестовій, програмі воно працює...
десь за межі вилажу чи що... чи в компонентах десь таке робиться...
включив перевірку виходу масивів за межі — не допомогло.
Ну так ловіть виняток і дивіться на стек.
Ну так ловіть виняток і дивіться на стек.
1. Вийнятки є рідко (але часто зберігається чорна картинка, правильного розміру)
2. Кожен раз інша картинка є чорною
3. Навіть у випадку вийнятку у стеку нічого цікавого.
3.1 А щоб відслідкувати чому саме передувало підняття виключення, потрібно 100 разів цокати пару критичних рядків. (100 разів тому що вийнято буває рідко)
Роздуми: (дальше можна не читати... це я сам себе питаю))))
1. Раз проблеми кожен раз в інших місцях, значить якщо причини і в перезаписі пам'яті, то хіба що в потоці...
2. Але там нічого підозрілого не бачу...
3. Та і працювало ж на Delphi XE5.
4. Значить якась зміна роботи компонету
5. Я використовую сторонній компонент для багато-поточності. Зібрав той самий пакунок що і для XE5... Зміни в TThread поламали цей компонент?
Що зроблю:
1. Випхаю тест із цього компоненту щоб перевірити чи проблема дійсно в ньому.
2. Якщо так, то подивлюсь що там поміняти і попробую його відремонтувати...
Додано:
Справа таки в компоненті: проблеми виникає тільки у потоках створених цим компонентом... проблему можна легко обійти, створивши в потоці ще один потік... але краще б вирішити її...
Оце відео перегляньте: http://blogs.embarcadero.com/medington/ … decentral/ Скоріше за все SafeMM вам допоможе, тільки треба буде скачати свіжішу версію: http://cc.embarcadero.com/Item/28681.
Справа таки в компоненті: проблеми виникає тільки у потоках створених цим компонентом... проблему можна легко обійти, створивши в потоці ще один потік... але краще б вирішити її...
Значить проблема у спотрворенні даних в локальних змінних, якесь переповнення бухверу чи щось подібне.
Оце відео перегляньте: http://blogs.embarcadero.com/medington/ … decentral/ Скоріше за все SafeMM вам допоможе, тільки треба буде скачати свіжішу версію: http://cc.embarcadero.com/Item/28681.
хіба по замочуванню стоїть не FastMM? нафіга він ще підключає FastMM.pas? в опціях проекту ж можна вибрати тестування на переповнення і на вихід за межі масиву...
SafeMM нічого не показав... та напевно поки поставлю костиль, а потім розробники оновлять компонент)
хіба по замочуванню стоїть не FastMM? нафіга він ще підключає FastMM.pas? в опціях проекту ж можна вибрати тестування на переповнення і на вихід за межі масиву...
У повній версії FastMM можна включити багато додаткових перевірок.
А у SafeMM можна перевіряти межі блоків або зверху або знизу. Тому зазвичай доводиться робити по два запуски.
ADR написав:хіба по замочуванню стоїть не FastMM? нафіга він ще підключає FastMM.pas? в опціях проекту ж можна вибрати тестування на переповнення і на вихід за межі масиву...
У повній версії FastMM можна включити багато додаткових перевірок.
А у SafeMM можна перевіряти межі блоків або зверху або знизу. Тому зазвичай доводиться робити по два запуски.
Та версія що була за посиланням такого не вміє?
Не знаєте як воно переключається? директивою?
І проблема не в потоці... просто тоді було співпало... 5 разів підряд... тепер не співпадає)))
блін... в дебегері ту той самий рядок дає різні значення ( TBitmap.CreateFromFile(File) )...
мені здається що щось із канвою — вона тепер не зовсім синхронна чи що) (там Direct2D використовується походу)
Та версія що була за посиланням такого не вміє?
Не знаєте як воно переключається? директивою?
Та директива десь на початку модуля SafeMM має бути.
І проблема не в потоці... просто тоді було співпало... 5 разів підряд... тепер не співпадає)))
блін... в дебегері ту той самий рядок дає різні значення ( TBitmap.CreateFromFile(File) )...
мені здається що щось із канвою — вона тепер не зовсім синхронна чи що) (там Direct2D використовується походу)
Так, на віндах починаючи з вісти, по дефолту використовується Direct2D рендер. Хоча за бажання можна й на GDI+ переключитися.