Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: neznayka3
Дата сообщения: 25.10.2012 17:49
при обновлении клиента переименовываю файл и загружаю новый exe, тк постоянно у кого то он запущен. те кто сидят на терминале не могут загрузить новый, ярлык указывает на старый(уже переименованный) файл. как быть и поможет ли "стартер" клиента?
Автор: A_V
Дата сообщения: 26.10.2012 23:46
neznayka3
свой стартер, или хотя-бы тупо батник..
Автор: tanaseduard
Дата сообщения: 29.10.2012 19:49
Народ помогите. Печать на USB принтер (аля Zebra) прямым доступом.
Собственно надо печатать EPL. Загвоздка в том что часть принтеров USB. Для Com/LPT все прозрачно.
Перерыл форум, много советов, часть нерабочих. Печать через Шару не подходит.
Хочется банально имея имя принтера в системе - пустить на него поток с командами.
Автор: ant0ni02004
Дата сообщения: 30.10.2012 18:32
tanaseduard
как правило, USB принтера поддерживают эмуляцию СОМ-порта. может там в настройках нужно указать что в этом режиме работать
Автор: tanaseduard
Дата сообщения: 30.10.2012 19:29
ant0ni02004
Спасибо. Уже решил.
Вот решение, вдруг кому пригодится. Печатает команды EPL на принтер в системе по имени, порт не имеет значения.


Код: Procedure PrintCommands(Const APrinterName,ADocName:String;ACommands:TStringList);
Var
Handle:THandle;
N:DWORD;
DocInfo1:TDocInfo1;
I:Integer;
Line:AnsiString;
Begin
If Not OpenPrinter(PChar(APrinterName),Handle,Nil) Then Raise Exception.Create('Printer not Found.');
DocInfo1.pDocName:=PChar(ADocName);
DocInfo1.pOutputFile:=Nil;
DocInfo1.pDataType:='RAW';
StartDocPrinter(Handle,1,@DocInfo1);
For I:=0 To ACommands.Count-1 Do
Begin
Line:=ACommands.Strings[i]+#13+#10;
WritePrinter(Handle,PChar(Line),Length(Line),N);
End;
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
End;
Автор: MagistrAnatol
Дата сообщения: 07.11.2012 15:21
Извините за ламерский вопрос - как в с++билдере реализовать такую конду из sql
where param1 in [1,2,6,8]
лень писать 4 условия
Автор: vez
Дата сообщения: 14.11.2012 17:51
Кто-нибудь знает как снести ненужный сериальный номер из LicenesManager, он стоит выше чем рабочий-зарегистрированный и ХЕ берёт первый по порядку, и конечно кричит что незарегистрирована.
Автор: snike555
Дата сообщения: 14.11.2012 19:59

Цитата:
Извините за ламерский вопрос - как в с++билдере реализовать такую конду из sql
where param1 in [1,2,6,8]
лень писать 4 условия

Про билдер не подскажу, но возможно по аналогии с делфи. В делфи есть if x in [1,2,6,8] then как ещё вариант case x of 1,2,6,8 : ... (в билдере аналог switch)

Добавлено:
tanaseduard
Посмотри примеры на основе ezweb.dll, может твой случай. Вообще варианта пока нашел два (в зависимости от принтера): писать в файл и отправлять в порт и использовать эту библиотеку.
Автор: neznayka3
Дата сообщения: 19.11.2012 23:23
часто юзеры цепляют много файлов к формам(могут мелких на 50mb), в итоге при сохранении тормоза. как бы разделить сохранение данных формы и файлов? сейчас они сохраняются в отдельных транзакциях, чтобы не блокировать данные, тк иногда сохранение может идти десятки сек. у кого вайфай никакой.

зы с потоками пока не выходит, получаю AV.
Автор: salexn1
Дата сообщения: 20.11.2012 09:18
neznayka3
Без сорцов вряд ли кто-то поможет
Автор: snike555
Дата сообщения: 20.11.2012 11:03
neznayka3
Для потоков юзай
OmniThreadLibrary
на самом деле придется приучить себя кодить в стиле потокобезопасности в не самой дружелюбной для этого среде.
Автор: ant0ni02004
Дата сообщения: 20.11.2012 16:37
neznayka3
а будет ли это правильно, сохранять отдельно?
нужно ведь отслеживать, что все файлы сохранились успешно и если вдруг нет(ошибка сети например, или доступа к файлу) - сообщить об этом юзеру чтобы он пересохранил


Автор: neznayka3
Дата сообщения: 20.11.2012 17:24
ant0ni02004
да. разбил на 2 транзакции, чтобы остальные данные не блокировались. сообщение юзер получает при откате. разбираюсь с потоками, чтоб юзеры не доставали после долгого неспешного сохранения файлов)
Автор: ant0ni02004
Дата сообщения: 20.11.2012 18:36
neznayka3
покажите юзерам прогресс-бар да и всех делов, или курсором "покрутите"
они ведь достают не потому что медленно, а потому что программа как-бы "зависает"
Автор: neznayka3
Дата сообщения: 20.11.2012 18:58
ant0ni02004
проблема не в тех кто сохраняет. другим надо работать с актуальной информацией, которую остальные вносят и файлы их мало интересуют. например: ввели нового таксиста, ему надо отдать заказ, а другие его не видят, потому что кто его забил сидит где то далеко, цепляет сканы в pdf и интернет у него никакой.
Автор: snike555
Дата сообщения: 20.11.2012 20:13
neznayka3
Ты учти что из двух разных потоков ты не можешь работать с одной сессией одновременно.
Лучше наверное сделать так:
фиксишь на сервер инфу кроме файлов, комитишь, ид записи передаешь в другой поток, в другом потоке используя ДРУГУЮ сессию (либо сессия создана в самом потоке, либо другой компонент который ты не трогаешь из основного потока, но тут придется следить чтобы не запустить новый поток пока существует первый рабочий) уже фиксишь файлы. Так у тебя главный поток освободится максимально быстро и файлы будут сохраняться в фоне. Так как VCL не потокобезопасен, в рабочих потоках с ним напрямую работать нельзя.
Автор: neznayka3
Дата сообщения: 22.11.2012 12:37
есть пара мест в программе, где вызываются 3-4 диалоговых форм одна из другой. собираюсь изменить интерфейс, но пока так. проблема в том, что когда много диалоговых форм открыто, при переключении на другие программы, и обратное переключение в программу, z-порядок форм путается. как это исправить?
Автор: snike555
Дата сообщения: 22.11.2012 14:54
neznayka3
просто show не showmodal?
Есть например BringToFont, можно пробежаться и выровнять как надо.
Автор: Frodo_Torbins
Дата сообщения: 22.11.2012 15:01
neznayka3
У апликейшена вроде были какие то методы на этот случай.
Автор: ant0ni02004
Дата сообщения: 22.11.2012 18:49
neznayka3
а какая версия дельфей у вас?
т.к. в новых версиях это дело с z-order исправлено (начиная с 2010 помоему)
Автор: vitvitber
Дата сообщения: 22.11.2012 22:49
В hepl dephi xe2 нет описания модуля Winapi.Windows и его компонентов. Кто подскажет почему И как пользоваться
Автор: neznayka3
Дата сообщения: 23.11.2012 00:02
snike555
везде showmodal
ant0ni02004
xe3

например без переключения на другие программы: с гл. формы вызывается форма (заказ) с нее другая (отчет) на которой находится frxPreview. если вызвать frxReport1.Export(frxPDFExport1); то порядок форм становится таким: отчет-гл. форма-заказ-диалог сохранения.
Автор: Frodo_Torbins
Дата сообщения: 23.11.2012 09:24
vitvitber
Обновление хелпа стоит? А вообще, все что в этом модуле можно увидеть, ищется либо на MSDN, либо в WinSDK, который по умолчанию вместе с хелпом не ставится.
Автор: ant0ni02004
Дата сообщения: 23.11.2012 19:45
neznayka3

Цитата:
с нее другая (отчет)

тут дело скорее в том, что фастрепорт при открытии отчета делает Show вместо ShowModal
frxReport->previewOptions проверьте настройку Modal

по поводу 2х потоков - в конце концов, сделайте обновление 2х-шаговым, т.е. сначала вызывайте SQL с Update самых важных полей (и т.о. остальные подключившиеся их смогут видеть, они ведь через read-commited читают по идее), а затем вызывайте другой SQL с Update всяких блобов для этой же записи. а еще лучше будет блобы эти в отдельную таблицу вывести и связать по ключу.
Автор: snike555
Дата сообщения: 24.11.2012 07:08
neznayka3
блобы находятся в той же таблице?
то есть количество файлов строго ограничено?
Автор: neznayka3
Дата сообщения: 25.11.2012 06:25
ant0ni02004
frxReport->previewOptions не при чем. у меня своя форма с frxPreview, которая вызывается модально.
snike555
нет.
ограничен только размер файла.
Автор: abelino
Дата сообщения: 28.11.2012 13:39
Доброго всем времени суток!
Никто не сталкивался с проблемой установки XL Report на Delphi XE3. Уж больно много приложений его использует (а их надо переписывать).
Я перекомпилировал все исходники под XE3. Сам компонент устанавливается, появилась панелька XlReport. Но нет самого главного - не вызывает Excel и не создаются дополнительные пункты меню компонента: редактирование шаблона, просмотр...

Спасибо.
Автор: Postscriptum
Дата сообщения: 28.11.2012 14:04
Добрый день. Вопрос может показаться странным, но все же - есть возможность выделить на форме несколько визуальных компонентов и повернуть их все на 180 градусов? Нашел Flip children, но он отражает по вертикали, а нужен именно поворот на 180 или на крайний случай флип по горизонтали.
P.S. Delphi 2009
Автор: Samotek
Дата сообщения: 28.11.2012 15:24
Подскажите, пожалуйста:
Delphi XE2
Из батника запускается моя программа, которой в качестве параметра передается некий путь, содержащий пробелы и кириллические символы. Если присваиваю paramStr[1] строке string - получаю там зюки и этот путь использовать из программы хотя бы в качестве FileExists нельзя. Как это получить правильно?
Автор: abelino
Дата сообщения: 29.11.2012 08:32
Доброго времени суток!
Может ли кто-нибудь поделиться инструкцией по переносу XL Report для делфи 2009-2010.
У меня идея фикс: перенести XL Report под Delphi XE3. Может что-нибудь найду полезное.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.