Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2013, 15:55   #1
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию Не работает прога на другом компе.

Соответственно я компилю из под Windows 8 x32 и delphi xe3, далее кидаю прогу на windows 7 x64, и она тупо зависает при нажатии на кнопку. При нажатии на кнопку вообще запускается поток. В котором используются стопорении либы. synapse и ещё парочка... Дак вот, возможно есть какие галочки в настройках компиляции программы интересные?

Где кстати галочка, благодаря которой библиотеки компиляться в exe?
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Старый 03.07.2013, 16:03   #2
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

тупо зависать программы не умеют, эт только люди...
возможно у Вас используется определение расположения каких-нибудь файлов или каталогов без учета специфики 64 разрядн ОС.
Если есть права администратора на Win7x64 то возьмите ProcessMonitor и посмотрите что ищет и не может найти Ваша программа.
astecenko вне форума Ответить с цитированием
Старый 03.07.2013, 16:23   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
благодаря которой библиотеки компиляться в exe?
Не все либы могут линковаться внутрь.
Цитата:
она тупо зависает
...
используются стопорении либы. synapse
Ну а ты не думаешь что висяк из-за того что синапс не может в инет достучаться благодаря файерволлу или антивирю?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2013, 16:59   #4
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию

Дак всё таки где устанавливается, что бы либы тянулись? Так, что бы проверить.


Смотрю снифером, один запрос отправляется и всё. И подвисает, хотя ответ получаю.
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Старый 03.07.2013, 17:28   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Ну а ты не думаешь что висяк из-за того что синапс не может в инет достучаться благодаря файерволлу или антивирю?
Там Timeout есть, вроде бы на 5000 мсек установлен.

Цитата:
Дак вот, возможно есть какие галочки в настройках компиляции программы интересные?
Есть много интересных галочек. О которых не менее интересно написано в справке.

Цитата:
Где кстати галочка, благодаря которой библиотеки компиляться в exe?
Сборка с run-time пакетами включена по-умолчанию.
Человек_Борща вне форума Ответить с цитированием
Старый 04.07.2013, 05:52   #6
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию

Человек_Борща, Ясно.

Что вы можете посоветовать, что бы исправить эту проблему?

Прилагаю код кнопки:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
http:thttpsend;
list:tstringlist;
stream:tstringstream;
s,ss,sss,ip_h:string;
i,iii,ii:integer;
begin
http:=thttpsend.Create;
list:=tstringlist.Create;
stream:=tstringstream.Create;

//авторизация VK
repeat
  http.Headers.Clear;
  http.Cookies.Clear;
  http.Document.Clear;
  http.Document.LoadFromStream(stream);
  http.UserAgent:='Mozilla/5.0 (Windows NT 6.2; rv:21.0) Gecko/20100101 Firefox/21.0';
  //http.MimeType:='application/x-www-form-urlencoded';
until http.HTTPMethod('GET','http://vk.com/');
list.LoadFromStream(http.Document); ip_h:=list.Text;

delete(ip_h,1,pos('name="ip_h"',ip_h)+12);
delete(ip_h,1,pos('"',ip_h));
delete(ip_h,pos('"',ip_h),maxint);

stream.WriteString('act=login' +
                   '&role=al_frame' +
                   '&expire=' +
                   '&captcha_sid=' +
                   '&captcha_key=' +
                   '&_origin=http://vk.com' +
                   '&ip_h='+ip_h+
                   '&email='+fglogin.Text+
                   '&pass='+fgpass.Text);

repeat
  http.Headers.Clear;
  http.Document.Clear;
  http.Document.LoadFromStream(stream);
  http.UserAgent:='Mozilla/5.0 (Windows NT 6.2; rv:21.0) Gecko/20100101 Firefox/21.0';
  http.MimeType:='application/x-www-form-urlencoded';
until http.HTTPMethod('POST','https://login.vk.com/?act=login');
s:=http.headers.Text;

delete(s,1,pos('Location: ',s)+9);
delete(s,Length(s)-3,maxint);

repeat
  http.Headers.Clear;
  http.Document.Clear;
  http.UserAgent:='Mozilla/5.0 (Windows NT 6.2; rv:21.0) Gecko/20100101 Firefox/21.0';
  //http.MimeType:='application/x-www-form-urlencoded';
until http.HTTPMethod('GET',s);

repeat
  http.Headers.Clear;
  http.Document.Clear;
  http.UserAgent:='Mozilla/5.0 (Windows NT 6.2; rv:21.0) Gecko/20100101 Firefox/21.0';
  //http.MimeType:='application/x-www-form-urlencoded';
until http.HTTPMethod('GET','http://vk.com/feed');
cook:=http.Cookies.Text;

grab.Create(false);

list.Free;
http.Free;
stream.Free;
end;
Судя по сниферу, зависаем на первом же запросе синапса, хотя ответ успешно получаем.
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Старый 04.07.2013, 08:08   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я хоть и не человек, и не всегда борща, но могу посоветовать описать некую процедуру, которая бы выводила в текстовый LOG файл некую строку, и применить так:
Код:
//авторизация VK
log('Начали первый цикл');
repeat
  http.Headers.Clear;
  http.Cookies.Clear;
  http.Document.Clear;
log('Загрузили стрим');
  http.Document.LoadFromStream(stream);
  http.UserAgent:='Mozilla/5.0 (Windows NT 6.2; rv:21.0) Gecko/20100101 Firefox/21.0';
  //http.MimeType:='application/x-www-form-urlencoded';
log('Попытка коннекта с Дуровым');
until http.HTTPMethod('GET','http://vk.com/');
log('Коннект удался');
list.LoadFromStream(http.Document); ip_h:=list.Text;
log('Тут еще что нить');
Сама log может выглядеть так:
Код:
procedure log(s:string);
var f:textfile;
begin
 assignFile(f,'log.txt'); append(f); writeln(now:20,s); closeFile(f);
end;
И ловить собственно где лог прервется, на каком операторе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.07.2013, 11:26   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
далее кидаю прогу на windows 7 x64, и она тупо зависает при нажатии на кнопку.
Уважаемый, пихайте код в поток, и не будет тормозов.
Когда клиент ждет ответа, он "усыпляет" поток в котором находится.

Можете Application.ProcessMessages поставить, программа затупит только при ожидании Timeout клиентом от сервера. Но в потоке это будет лучше и без тормозов.
Человек_Борща вне форума Ответить с цитированием
Старый 04.07.2013, 16:08   #9
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию

Тут штука в том, что потом запускается поток, а точнее несколько, и туда уже передаются куки. Дело даже не в том, просто у меня всё работает стабильно, ну есть 1 секунду форма подвисает, а потом отпускает её, а на других ПК просто виснет.

Щас буду мучить лог. Ещё попробую в цикл добавить processmessages. Если просто зацикливается, то подвисание должно прекратиться.
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Старый 05.07.2013, 09:35   #10
Tip.the.besT
------------------
Пользователь
 
Регистрация: 15.08.2011
Сообщений: 78
По умолчанию

Выяснил в чём проблема. Не проходят https запросы и прога зацикливается. ssl_openssl в uses прописан, и у меня всё работает, значит не добавляется в exe. Кто сталкивался с такой проблемой в синапсе?
C YBA}|{EH|/|EM Tip.the.besT
Tip.the.besT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не запускается прога на другом компе Pixelrom33 Общие вопросы Delphi 12 25.02.2012 20:04
Не запускается прога на другом компе ahvahsky2008 БД в Delphi 11 06.05.2010 10:12
Не работает макрос на другом компе. Aleksandr Microsoft Office Excel 2 02.10.2009 14:42
Программа не работает на другом компе! Gawwws Microsoft Office Excel 1 28.11.2008 18:03
прога не запускается на другом компе. хелп Solin Общие вопросы C/C++ 1 06.06.2008 07:28