|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
Как предотвратить обязательное создание временного файла в своей программе написанной на VB6?27.04.2023, 14:15. Показов 1962. Ответов 43
Метки нет (Все метки)
Почти любая программа написанная на VB6 создаёт временный файл во временной папке Windows. И это не всегда удобно. Как предотвратить обязательное создание временного файла в своей программе написанной на VB6?
Добавлено через 9 минут В общем я выяснил, что любая форма с иконкой создаёт TMP-файл, но если форма со стандартной иконкой то TMP-файла нет!
0
|
|
| 27.04.2023, 14:15 | |
|
Ответы с готовыми решениями:
43
Как мне использовать тексты программ компонентов в тексте своей (написанной мной) программе? Как добавить описание файла своей программе?
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 14:18 [ТС] | |
|
Или если в форме полностью удалить иконку, как показано на изображении ниже, то тогда тоже TMP-файл создаваться не будет)
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 14:22 [ТС] | |
|
А то, я помню, у меня был случай, когда мои программы на VB6 вообще не запускались, когда полностью закончилось свободное место на диске C: из-за этих TMP-файлов которые не создавались... Конечно если не получается записать временный файл во временную папку на диске C: "оно" предпринимает вторую попытку записать TMP файл в каталог с запущенной программой, но если и это не получается (вдруг тоже нет места, либо вообще диск защищён от записи) то тогда программа вылетает с фатальной ошибкой. И программа не запускается вообще.
0
|
|
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,851
|
|
| 27.04.2023, 14:24 | |
|
Не по теме: HackerVlad, тебе заняться больше нечем посреди недели в разгар рабочего дня? Чем тебе этот файл помешал? Добавлено через 2 минуты
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 14:39 [ТС] | |
|
Осталось только придумать как загружать иконку на форме вручную своим кодом, чтобы уж точно не создавались временные файлы и тогда, я думаю, проблема будет решена.
Добавлено через 12 минут Думал поступить простым способом "по-лентяйски" решить эту проблему через присвоение Me.Icon = Image1.Picture или Picture1.Picture но как оказалось так работает хорошо только в среде IDE а в EXE e меня иконка хоть и загрузилась таким образом но стало блеклой и потеряла свои насыщенные цвета, что странно...
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 14:46 [ТС] | |
|
На первом рисунке форма запущенная в IDE VB6, на втором рисунке форма запущенная в EXE
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 14:51 [ТС] | |
|
Какие бы функции использовать для загрузки иконки на форму вручную? Может ExtractIconEx?
0
|
|
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,851
|
|||||||
| 27.04.2023, 14:52 | |||||||
|
гружу так
1
|
|||||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 27.04.2023, 14:57 [ТС] | ||||||
|
Цвета не теряются?
Добавлено через 1 минуту Через LoadPicture у меня сразу цвета теряются! Даже в VB.
Да, остаётся только использовать целую кучу API-функций, ну как обычно... Стандартный LoadPicture даже не помог...
0
|
||||||
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,851
|
|
| 27.04.2023, 14:57 | |
|
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 15:01 [ТС] | |
|
Может в десятке работает и нормально. У меня семёрка 64 бит.
Добавлено через 2 минуты Аааааа это зависит от упрощённой темы
0
|
|
|
dive
4963 / 4660 / 845
Регистрация: 13.04.2015
Сообщений: 9,851
|
|
| 27.04.2023, 15:01 | |
|
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 27.04.2023, 15:03 [ТС] | ||
|
Не знаю как в десятке, но в семёрке есть такое понятие как упрощённая цветовая тема и только в ней херово картинка блекнет
Добавлено через 48 секунд
0
|
||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 15:08 [ТС] | |
|
Дело в том, что у меня в свойствах VB6.EXE стоит галочка Отключить композицию рабочего стола. Именно эта галочка переводит всю цветовую тему оформления окон Windows на упрощённую тему и отключает Windows Aero с целью чтобы в среде VB IDE не глючило перемещение элементов, когда натягиваешь кнопки и разные элементы на форму и перемещаешь их.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 15:10 [ТС] | |
|
Как только я закрываю у себя VB6, тема оформления окон Windows переходит в обычную тему тогда сразу же иконка в форме становится нормальной! (но не на панеле задач там ещё остаётся старый блеклый вариант)
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 15:18 [ТС] | |
|
Я вот о чём думаю, если бы я использовал связку функций ExtractIconEx/DrawIconEx то я не могу же получить объект As IPictureDisp я могу только нарисовать с помощью DrawIconEx иконку в пикчебоксе.
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 27.04.2023, 15:39 [ТС] | ||||||
|
Хотите прикол! У меня давно была написанная функция для загрузки картинок из байтового массива. В том числе PNG кстати, удобная вещь. Сейчас решил применить эту функцию. И что вы думаете!? Хоть и теперь иконка перестала глючить в упрощённой цветовой схеме, при загрузке формы, но зато теперь стали опять появляться TMP-файлы! пхахаха
А функция стандартная LoadPicture загружает без TMP я просто в шоке.
0
|
||||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||||
| 27.04.2023, 18:40 [ТС] | |||||||||||
|
Я просто в шоке, если честно. Кто, когда и как создаёт временные файлы и какая строчка кода, какая функция!?
Добавлено через 1 минуту Вряд ли сама по себе функция OleLoadPicture создаёт TMP-файлы... Я не знаю что и думать... Добавлено через 4 минуты Я бы поступил по другому, но не знаю как просто. Может кто-нибудь знает как получить IPicture от загруженной иконки с помощью ExtractIconEx Добавлено через 7 минут Может с помощью функции GdipCreateBitmapFromHICON? Добавлено через 12 минут Меня больше всего удивило то, что когда я рисую в пикчебоксе функцией DrawIconEx через рисование в hdc то свойство Picture пикчебокса остаётся пустым, это меня просто шокировало и при этом нельзя получить IPictureDisp а значит и сохранять картинки через стандартное SavePicture Я хотел вот что, написал код такой:
Но не тут-то было! При этом Picture1.Picture не заполняется хотя по факту картинка есть это странно. Добавлено через 13 минут Если бы я знал как нарисовать эту картинку в ЗАГОЛОВКЕ формы, если бы был такой hdc для иконки заголовка формы, всё было бы гораздо проще конечно... Добавлено через 8 минут Видите, я не знаю простой вещи, как загрузить иконку в форму с помощью API и без создания TMP Добавлено через 1 минуту Может надо использовать целую кучу API-функций gdiplus.dll кто знает, кто знает... Либо будет достаточно gdi32.dll... Этого я тоже не знаю... Добавлено через 2 часа 6 минут Я просто, честно не знал, как устанавливать иконки окнам с помощью API, поэтому и смотрел ни в ту сторону... Загуглил, поискал, нашёл кое что полезное! Теперь у меня всё получилось! Ура!!! Всего 2 строчки кода!!
0
|
|||||||||||
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 27.04.2023, 18:46 [ТС] | |
|
А вариант с простым LoadPicture я даже не рассматриваю теперь! Так как это ужасный вариант который работает лишь наполовину. Где-то нормально иконка загрузится а где-то нет. Например в диспетчере задач и на панеле задач иконка будет блеклая...
0
|
|
|
Испарился
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 27.04.2023, 18:48 [ТС] | ||||||
|
Как мы все прекрасно видим простой вроде бы код этот
0
|
||||||
| 27.04.2023, 18:48 | |
|
Помогаю со студенческими работами здесь
20
Создание временного файла Создание временного уникального файла
Привязать расширение файла к своей программе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|