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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2013, 20:59   #1
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию Подопытные

Приветствую. Есть проблема: программа работает только на одной машине. На любой другой (из 5 протестированных, которые были дома под рукой) работать отказывается.

Суть программы: тыкаете на кнопочку, и файл test.flac через synapse отправляется гуглу на разгадывание. После 5-6 секундного раздумья ShowMessage показывает ответ. Если там пусто - программа не работает.

Я уже весь извелся, не пойму причины этого странного поведения. Прошу вашей помощи в тестировании, сработает ли программа у кого то из вас?

Вот сама программа: тырц

PS: Сразу извиняюсь за "дружественный" интерфейс

UPD: То есть, проблема в том, что на других машинах файл просто не передается никуда, а сразу возвращается ошибка 500.
В планах порабощение вселенной...

Последний раз редактировалось zumm; 02.12.2013 в 21:19.
zumm вне форума Ответить с цитированием
Старый 02.12.2013, 22:15   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Пустой showmessage.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.12.2013, 22:58   #3
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Вот вот. А я при запуске вижу вот это:
Изображения
Тип файла: png Безымянный.png (12.3 Кб, 141 просмотров)
В планах порабощение вселенной...
zumm вне форума Ответить с цитированием
Старый 02.12.2013, 22:59   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

после нажатия кнопки Button1 песочные часики повисели секунд двадцать и выдался пустой мессадж...

(win 7, если что...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2013, 23:09   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Пустой. win7(64). Сразу, без всяких задержек
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.12.2013, 23:11   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Может быть, исходник тоже выложите?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 03.12.2013, 00:29   #7
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Исходник прост как моя жизнь:

Код:
uses
  HTTPSend;

procedure TForm1.Button1Click(Sender: TObject);
const
  CRLF = #$0D + #$0A;
var
  Boundary: String;

  procedure WriteString(const AStream: TStream; const AString: String);
  var
    LBytes: TBytes;
  begin
    LBytes := TEncoding.Default.GetBytes(AString);
    AStream.Write(LBytes[0], Length(LBytes));
  end;

  function StreamToString(const AStream: TStream; AEncoding: Cardinal = 65001): String;
  begin
    if AStream <> nil then
    begin
      with TStringStream.Create('', AEncoding) do
      begin
        try
          CopyFrom(AStream, 0);
          Result := DataString;
        finally
          Free;
        end;
      end;
    end
    else
    begin
      Result := '';
    end;
  end;
begin
  Boundary := IntToHex(Random(MaxInt), 8) + '_SynapseBoundary';

  with THTTPSend.Create do
  begin
    try
      with Document do
      begin
        LoadFromFile('test.flac');
        Position := 0;
      end;

      WriteString(Document, '--' + Boundary + CRLF);
      WriteString(Document, 'Content-Disposition: form-data; name="userfile"; filename="test.flac"' + CRLF);
      WriteString(Document, 'Content-Type: audio/x-flac; rate=16000' + CRLF + CRLF);

      with Document do
      begin
        Position := Size;
      end;

      WriteString(Document, CRLF + '--' + Boundary + '--' + CRLF);
      MimeType := 'audio/x-flac; rate=16000, boundary=' + Boundary;

      HTTPMethod('POST', 'http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU');
      ShowMessage
      (
        'Status: ' + ResultString + CRLF +
        'UploadSize: ' + IntToStr(UploadSize) + CRLF + CRLF +
        StreamToString(Document)
      );
    finally
      Free;
    end;
  end;
end;
Тут правда еще немного отладочной информации добавилось.

UPD: И вот почему у Serge_Bliznykov что-то куда то отправлялось, а у Аватар, даже пытаться не стало?
В планах порабощение вселенной...

Последний раз редактировалось zumm; 03.12.2013 в 00:38.
zumm вне форума Ответить с цитированием
Старый 03.12.2013, 05:45   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Выдал xml'ку с заголовком Error 400 Bad Request!!1 (Прям вот после восклицательных знаков единичка).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 03.12.2013, 07:29   #9
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию


win 8(x64) за пару секунд вывалило вот чего...
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 03.12.2013, 09:27   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от SaLoKiN Посмотреть сообщение

win 8(x64) за пару секунд вывалило вот чего...
Ну вот у меня также
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


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