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

» Вопросы по Delphi (все версии) - часть 3

Автор: greenpc
Дата сообщения: 04.02.2008 18:12
waik
почитай _http://www.delphiplus.org/articles/expert/delphi&vcs.html
новых экспертов вроде не появилось
сам пользую VssConneXion
Автор: waik
Дата сообщения: 05.02.2008 12:27
xy
Спасибо за вариант. Раньше ползовал FreeVCS, я так понимаю это одного дерева ветки. Не особо понравилось рабочая схема - блокировка/редактирование/разблокировка. А именно то что применительно к Делфе это очень не удобно. Каждый хочет поправить датамодуль или файл проекта. В этом случае приходится постоянно чекин/чекаут проводить. А как только кто-то забудет - искать кто занял и т.д. Ну и блокировка на уровне файловой системы (read-only) не понравилась. Часто приходилось снимать руками, в случае нештатного завершения среды.

greenpc

Интересная статья, хотя и довольно старая. Но понял что вариантов вообще-то не очень много. Есть у меня Атлант (1 лицензия), но работать нескольким людям не даёт. Ломаный не попадался (имеется ввиду версия 3 с копейками). SourceConneXion тоже не пробегал вроде...

Короче говоря сам сейчас пробую с (Sub)Version и Tortoise. В среду встроилось (минимальные изменения пакета) как bpl, само установилосm нормально. Вот ещё общий сервер настроить только. Функционал вроде достаточный. Как в работе себя поведёт посмотрим...
Автор: murkovich
Дата сообщения: 05.02.2008 14:06
ms2015, waik
Чисто для информации - в новом Дельфи (наверное, к середине года) обещана интеграция с subversion. То есть, если сейчас выбирать, то есть определенный смысл выбирать именно его. И пока пожить с не совсем идеальными плагинами. Или синхронизироваться внешне, посредством Tortoise.

Сервер для SubVersion ставится и как windows-сервис (в том числе и локально), и как примочка к apache.
Автор: waik
Дата сообщения: 05.02.2008 14:45
murkovich

Спасибо. Хорошая информация. Я так понимаю что это будет в Delphi 2008? Пока это дополнительный аргумент в пользу выбора SubVersion вместо StarTeam...
Автор: xy
Дата сообщения: 05.02.2008 22:48
waik
хмм.. что-то я не понимаю или вы понавыдумывали
если вы хотите чтобы проект был целостен, то схемa check in/out просто неизбежна и так работают все известные мне СVS, ну а меточки ридонли - приятное дополнение, не позволяющее попортить файл, который не у нас

единственное - ридонли с ДатаМодулями частенько глючит ибо делфи кэширует состояние файлов и приходится переоткрывать проект :-/

Добавлено:
В JEDI нравится что он один - от сервера до клиента.. а тут получается, сервер какой-то надо поставить, чтоб с ним был совместим клиент, а потом еще и плагинами этот клиент в делфи вшивать :(

В общем если в Д2008 появится какая-то родная интерграция - будет иметь смысл опять затронуть тему ;)
Автор: murkovich
Дата сообщения: 06.02.2008 02:24
waik
Да, в том нечто, которое пока идет под кодовым названием Tiburon, и чей выход намечается к лету. Как называться будет - Д2008, или какая-нубудь Студио - время покажет.
Автор: Rudia
Дата сообщения: 06.02.2008 11:03
Есть проблема с разделяемой памятью в делфи 2007.
А именно из программы в функцию в dll передается всего один параметр через делфовский variant. Так вот через этот вариант передается указатель на класс. ShareMem везде прописан.
Код портируется с 4 делфи - где все прекрасно работает, в 2007 - ни фига не работает.
Есть у кого версии какие?
Автор: delover
Дата сообщения: 06.02.2008 11:46
Rudia
1. ShareMem у d2007 и d4 очень разный.
2. variant у этих делфей тоже разный.
3. указатели на класс не должны передаваться через variant, - в разных exe/dll - это разные объекты. прокатывает только в случае компиля в одной и той же версии делфи.
4. ShareMem - это вообще-то текстовый файл и лучше брать его от последней версии, а компилить можно и со старой. Тогда по идее проблемм мало, но придётся кое что брать из system.pas - структура менеджера памяти немного другая.
5. Нафига передавать класс? Можно создавать в dll класс самостоятельно и передавать ему соответствующие данные. Немного сложнее, но надёжнее, так как можно обойтись даже без sharemem.
Автор: Rudia
Дата сообщения: 06.02.2008 13:16
delover
1,2,3,4 и программа и библиотека компилится под одной версией делфей
5 Знаю, что извращение, но писал не я. Написано было для "универсальности", да и в некоторых случаях передается выборка из БД в пару тысяч записей - тут без sharemem никак.

Автор: infosa
Дата сообщения: 06.02.2008 17:53
Прошу модератора удалить этот пост, проблема решена.
Автор: Rudia
Дата сообщения: 06.02.2008 18:23
delover
В общем мне даже ShareMem не нужен, т.к. передаю информацию только для чтения, проблема в том, что в 2007 делфи один и тот же 32битный адрес в памяти в библиотеке указывает совсем на другое место, чего по идее быть не должно.
У меня закрадывается сомнения, что делфи 2007 все-таки кривой ещё до безобразия
Автор: waik
Дата сообщения: 06.02.2008 21:03
xy

Цитата:
хмм.. что-то я не понимаю или вы понавыдумывали
если вы хотите чтобы проект был целостен, то схемa check in/out просто неизбежна и так работают все известные мне СVS, ну а меточки ридонли - приятное дополнение, не позволяющее попортить файл, который не у нас


Вы действительно не правильно меня поняли. Я говорю про рабочую схему, а их известно минимум три. Одна применяет блокировка/редактирование/разблокировку, другая (применяемая в StarTeam например) - редактирование/слияние изменений/ помещение в хранилище. Третья нечто смешанное. Если интересно, то опишу отдельно. В делфи схема с блокировкой кажется не удачной. Хотя бы потому что редактор форм постоянно пытается изменять свойства (Top, Left например) при работе с проектом. Даже если именно в неё никаких изменений вносить не предпологалось. И соотвественно вываливаются постоянные сообщения о попытке сохранить unit в ридонли файле.

Слияние гораздо приятнее, хотя может и чуть более трудоёмкая схема. Получаем из хранилища файл, правим как хотим - пытаемся сохранить в хранилище. В случае если файл уже изменился - сливаем две версии в одну и сохраняем.

Выполнение check in/out не является рабочей схемой, это просто действия в любой CVS и работающие по любой схеме.

Автор: SERGE_BLIZNUK
Дата сообщения: 06.02.2008 23:04
ребята, знаю, что вопрос не совсем для этого топика, но новый начинать не хочется (да и запрещено), а топик по Delphi2007 закрыт на неопределённый срок.. ;-(((

вопрос следующий:
есть 25242 RAD Studio 2007 Help Update 1 CHM files - English 55 МБ и этот долбучий сайт на codegear защищает этот файл так, будто он на вес золота... да ладно бы по уму сделали - а так, через хитрые кукизы, авторизацию и file-attachment...
короче. Три или четыре попытки скачать - обрывались в разные моменты. докачки нет ;-(
может быть, у кого-то есть эти файлы справки (именно Update 1 - от 16.11.2007) - и может быть есть возможность выложить это на любой нормальный хостинг с докачкой (например, на rapidshare.com) ?? Буду очень-очень благодарен!
тысячу извинений за оффтоп...
Автор: xy
Дата сообщения: 06.02.2008 23:11
waik
в делфи слияние дфмов зачастую неподъемная задача.. поэтому схема слияния по моему опыту доставит значительно больше хлопот

тут скорее и надежнее "пофиксить" делфи, чтоб оно не пыталось постоянно что-нить в дфмы записать ;)
Автор: RomanTim
Дата сообщения: 07.02.2008 06:58
SERGE_BLIZNUK
После закрытия топика по 2007 обсуждение сюда переехало http://forum.ru-board.com/topic.cgi?forum=35&topic=28572
Автор: anfilat
Дата сообщения: 07.02.2008 09:29
infosa
Строчка
if ( (1<<i) & Poses) {}
на дельфи будет
if ((1 shl i) and poses) <> 0 then
И в последней строке лишний пробел добавляется

xy

Цитата:
в делфи слияние дфмов зачастую неподъемная задача

Почему? Обычный текст, дифится без проблем. Да и дфмки настолько редко меняются, что отдельно на них заморачиваться не стоит
Автор: infosa
Дата сообщения: 07.02.2008 10:40
Э-э... Проблема оказалась не в этом.

А строка
if ( (1<<i) & Poses) {}
как раз правильно переведена, как if (1 shl i)=poses then ...
В С++ оператор "&" отвечает же за побитовое сравнение, а в делфи аналогов нет.

Проблема была в цикле. Надо было не repeat, a while.

while i<k do
begin
if ((1 shl i)=poses) then ...
inc(i)
end;
И все работает.
Автор: anfilat
Дата сообщения: 07.02.2008 11:48
infosa

Цитата:
А строка
if ( (1<<i) & Poses) {}
как раз правильно переведена, как if (1 shl i)=poses then ...

Не, неправильно. Poses это битовая маска, и сишное условие выполняется для каждого установленного бита. А твой дельфи-перевод сработает только если в Poses установлен только один бит. Если больше одного, то условие никогда не выполнится.

Цитата:

В С++ оператор "&" отвечает же за побитовое сравнение, а в делфи аналогов нет.

Дельфийский AND при сравнении чисел работает как сишный &, а при сравнении булеанов как сишный &&. Так что аналогов есть
Автор: greenpc
Дата сообщения: 07.02.2008 11:55
infosa

Цитата:
В С++ оператор "&" отвечает же за побитовое сравнение, а в делфи аналогов нет.

а как же "and"
Упс, опередили
Автор: infosa
Дата сообщения: 07.02.2008 12:48
anfilat, спасибо за объяснение! Действительно аналоги есть!

Автор: kirillkr
Дата сообщения: 07.02.2008 21:13
У кого есть опыт работы такой связки:
Firebird (unicode_fss)
FIB Plus
Delphi 7

?

Интересует такой вопрос, сколько придеться проходить напильником, чтобы приложение работало в режиме unicode? Какие-то компоненты понадобятся или можно обойтись стандартными? Что для этого надо будет сделать? Что порекомендуете прочитать по этой теме?
Автор: me1nik
Дата сообщения: 10.02.2008 15:34
Парни помогите скомпилировать файл, срочно надо достал исходники.
Уж, очень надо скоро на работу приезжает проверка. А эта программа очень нужна мне, т.к. эта проверка придет с флэшкой на которой нужные данные лежат, которые могут пригодится мне и моему руководству. На своем Delphi 7 enterprise пробовал ничего не получилось, не хватает классов. Программа готова к компилированию единственное там нужно одну строчку подправить "trayMain.Active := False" где False изменить на True. Это мне нужно для того чтобы программа при запуске запускалась и сразу спускалась в трэй. Если сможете помочь буду очень благодарен.
_http://ifolder.ru/5299391 размер 10 кб.
Автор: Frodo_Torbins
Дата сообщения: 10.02.2008 23:29
me1nik
Быстро просмотрел, вроде кроме джедайских контролов там ничего нет - http://jvcl.sourceforge.net/ Но компилить не пробовал.
Автор: Yeeshik
Дата сообщения: 11.02.2008 08:46
me1nik
_http://ifolder.ru/5307737
Иконка в трее есть, только прозрачная. Чтобы запускалась и сразу спускалась в трэй нужно запускать с параметром --hide.
Автор: me1nik
Дата сообщения: 11.02.2008 09:41
Yeeshik
Огромное спасибо, ты сделал даже еще лучше чем я и предполагал. Срытая иконка нет ничего лучше , огромный респект.
Чтобы программу из трея вывести нужно держать зажатым shift и кликнуть мышкой, круто!
Вот мой .ini у http://ifolder.ru/5308291 чтоб прога работала!
Yeeshik 5+
Автор: Rus007
Дата сообщения: 11.02.2008 14:31
У кого нибудь есть код программы шифрования, написанный на delphi?
Автор: RomanTim
Дата сообщения: 11.02.2008 19:51
Rus007
Что значит "программа шифрования" - надо написать реализацию какого-нибудь алгоритма шифрования или уже конечный "продукт", шифрующий данные, например, с помощью CryptAPI?
Автор: aqwapaq
Дата сообщения: 11.02.2008 20:37
Есть код программы которая посылает POST запрос на сервер.
Проблема в том, что для отправки нужно нажать на кнопку формы, когда нужен файл который выполнит эту функцию автоматически и закроется.
Т.е требуется максимально автоматизировать процесс.
(Не нужны формы, кнопки и прочий GUI)
Заранее спасибо!


Вот код:


Код:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdCustomTransparentProxy, IdSocks, IdHTTP, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, StdCtrls;

type
TForm2 = class(TForm)
Button1: TButton;
IdHTTP1: TIdHTTP;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;
response :TStringList;
POSTData: TStringList;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
POSTData := TStringList.create;
POSTData.add('modem_log_st_poe=&hang_up_st_poe=Disconnect&message=');
IdHTTP1.Post('http://192.168.0.1/Status.htm/st_poe.cgi' ,POSTData);
end;

end.
Автор: Rus007
Дата сообщения: 12.02.2008 07:37
RomanTim
Методом перестановки по маршрутам Гамильтона. Помогите кто может срочно сдавать нужно.
Автор: shilder
Дата сообщения: 12.02.2008 08:55
aqwapaq
офигеть... а создать просто консольное приложение и скопировать обработчик события Click не дано ? :)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: 1С: Конвертация данных 2.0


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