Sashar333
-
Постов
108 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Sashar333
-
-
такие вот настройки в виндовсе работают...
-
-
-
443 тоже не работает
пробовал 110, 993,995,25
на виндовс 993 работает
-
Здравствуйте!.Delphi 10.2. Android 6 (Xiaomi Redmi note 4)
программирую раз в год, уровень языка минимальный, наверно.
код:
procedure TForm1.FormCreate(Sender: TObject);
begin
{$IFDEF MSWINDOWS}
pflog:='log.bas';
pfmem:='mem.mem';
pfprod:='prod.txt';
pfpost:='post.txt';
{$ELSE} {$IFDEF IOS}
//код для мобильной платформы iOS
{$ELSE} {$IFDEF ANDROID}
pflog:=Tpath.GetDocumentsPath+pathdelim+'log.bas';
pfmem:=Tpath.GetDocumentsPath+pathdelim+'mem.mem';
pfprod:=Tpath.GetDocumentsPath+pathdelim+'prod.txt';
pfpost:=Tpath.GetDocumentsPath+pathdelim+'post.txt';
{$ENDIF}
{$ENDIF}
{$ENDIF}memo1.Text:='';
if not(fileexists(pfmem)) then memo1.Lines.SaveToFile(pfmem);
memo1.Lines.LoadFromFile(pfmem);
if memo1.Lines.Count=0 then memo1.Lines.Add('01.01.0001');
label1.Text:=memo1.Lines[0];
IdIMAP41.Connect(); - тут программа вылетает
//ComboBox1.Items.LoadFromFile(pfprod);
//ComboBox2.Items.LoadFromFile(pfpost);
//loadlist;
end;Задача проста: найти письмо и скачать вложение, для дальнейшей обработки.
При запуске на Windows 8 все работает нормально, после установки apk и запуска на телефоне программа вылетает при IdIMAP41.Connect()
Менял на pop3 тоже самое
Подскажите пожалуйста в чем может быть проблема? Может есть другие варианты для загрузки почты?
Заранее спасибо!
-
Здравствуйте!
Помогите разобраться пожалуйста.
Delphi 10.1 и 10.2, Windows
Программа прекрасно работала и программировалась.
Добавил две колонки в StringGrid:
сразу понял что не красиво и попытался их удалить(ничего в программе больше не менял и не добавлял!?) таким образом:
но после нажатии кнопки "Delete" получил сообщение:
дальше программировать, данный проект, нет возможности из таких сообщений и дальнейших разрушительных сбоев
при новой загрузке проекта в DELPHI все работает и запускается, Project1.exe из Debug'а тоже работает.
Но стоит только в DELPHI попытать что то сделать(бывает достаточно навести курсор мыши) с именно этим StringGrid то сразу выдает ошибки:
помогает полное удаление StringGrid но так как
это не в первый раз и в разных версиях это сильно напрягает
переустановки delphi не помогают
может кто знает в чем дело?
Заранее спасибо за ответ...
-
Всем спасибо! nil и TagString помогли!
-
11 час назад, Fedor K сказал:
Из приведенного выше кода ничего вручную удалять не нужно, кроме самого TListBoxItem, как и выполняется в примере выше (listbox1.Items.Delete(indexclick) или Form1.listbox1.Items.Delete(0)) . Все создаваемые дополнительные контролы (TGridPanelLayout, TRectangle, TText) создаются здесь с AOwner = TListBoxItem + задается Parent, который мы и удаляем, а при удалении родительского все дочерние удаляются вместе с ним. Можете убедиться в этом проверив утечку памяти:
ReportMemoryLeaksOnShutdown := True;
Sashar333 не используйте никогда .Name в качестве хранилища или идентификатора, это плохая практика. Для этих целей отлично подходят тэги (TagString или TagFloat), которые имеют все TFmxObject.
с .Name понятно, буду переделывать, спасибо!
Но если "...а при удалении родительского все дочерние удаляются вместе с ним. Можете убедиться в этом проверив утечку памяти" почему тогда ругается на дублирование имени...
-
Здравствуйте!
Есть ListBox1, на нем разное кол-во tlistboxitem'ов, на каждом tlistboxitem'е есть один tgridpanellayout состоящий из четырех колонок и одной строчи, в каждой колонке
по одному trectangle, в каждом trectangle по одному ttext с именами по очереди типа 'w'+IntToStr(Item.index), 'l'+IntToStr(Item.index), 'k'+IntToStr(Item.index)
такие имена для Ttext требуются для дальнейшей обработки и распознования, в каждом Ttext надпись, на примере "-","2","2","Х" :
при нажатии на текст "Х" удаляется tlistboxitem c помощью listbox1.Items.Delete(indexclick)
Проблема следующая, при создании нового итема пишет дубликат имени Ttext, я так понял что итем удалился а то что на нем -нет
как можно быстро удалить и итем и то что на нем находилось? Пример создания итема:
procedure addrazmer(zap:typezap); var item:tlistboxitem; pg:tgridpanellayout; t1,t2,t3,t4:ttext; al:talignlayout; r1,r2,r3,r4:trectangle; i:integer; begin form1.listbox1.BeginUpdate; while Form1.listbox1.Count<>1 do Form1.listbox1.Items.Delete(0); for i := 0 to length(zap.razmer)-1 do begin item:=tlistboxitem.Create(form1.listbox1); item.Height:=30; pg:=tgridpanellayout.Create(item); pg.RowCollection[1].Value:=0; pg.ColumnCollection.Add;pg.ColumnCollection[2].Value:=50; pg.ColumnCollection.Add;pg.ColumnCollection[3].Value:=10; pg.Parent:=item; pg.Align:=al.alClient; r1:=trectangle.Create(pg); r2:=trectangle.Create(pg); r3:=trectangle.Create(pg); r4:=trectangle.Create(pg); r1.Parent:=pg;r1.Align:=al.alClient; r2.Parent:=pg;r2.Align:=al.alClient; r3.Parent:=pg;r3.Align:=al.alClient; r4.Parent:=pg;r4.Align:=al.alClient; t1:=ttext.Create(r1); if zap.tip<>'Лист' then Begin t1.Enabled:=false; t1.Text:='-'; End else Begin t1.text:=floattostr(zap.razmer.witdh); end; t2:=ttext.Create(r2);t2.text:=floattostr(zap.razmer.length); t3:=ttext.Create(form1);t3.Text:=floattostr(zap.razmer.kol); t4:=ttext.Create(form1);t4.Text:='X'; t1.Parent:=r1;t1.OnClick:=form1.CliskRazmerClick; t2.Parent:=r2;t2.OnClick:=form1.CliskRazmerClick; t3.Parent:=r3;t3.OnClick:=form1.CliskRazmerClick; t4.Parent:=r4;t4.OnClick:=form1.DeleteItemClick; t1.Align:=al.alClient; t2.Align:=al.alClient; t3.Align:=al.alClient; t4.Align:=al.alClient; form1.listbox1.InsertObject(form1.listbox1.Items.Count-1,item); t1.Name:='w'+IntToStr(item.Index); t2.Name:='l'+IntToStr(item.Index); t3.Name:='k'+IntToStr(item.Index); end; form1.listbox1.EndUpdate; end;
Заранее спасибо!
-
1 час назад, krapotkin сказал:
из интернета написано, что idHTTP по SSL на андроиде работать не будет. Используйте THttpClient
кодировка в ответе должна зависеть от того, как вы настроите запрос. для этого есть заголовки HTTP. Так что ничего перекодировать обычно не нужно.
и у idHTTP и у THttpClient есть даже несколько свойств, которые транслируются в эти заголовки, например AcceptCharset
Спасибо большое! так и сделал, все заработало!
-
6 минут назад, krapotkin сказал:
а зачем эти все UTF to Ansi ??
это под windows проект?
SSL настроен правильно?
без UTF to Ansi иероглифы получаются
приложение под пока Android
в SSL плохо разбираюсь(все из интернета) но судя по тому что все работает отлично, кроме не корректных запросов, думаю что да...
-
Здравствуйте! Вопрос такой:
Есть процедура:
Если переменные inn,capcha и capchaToken указаны правильно то Idhttp работает как надо, если inn или capcha не верны то прим Idhttp.post программа выдает ошибку:
а хочется получить данные как в анализаторе:
Как можно это сделать?
-
В Delphi XE8 все приложения компилировались нормально и работали при любой смене ориентации телефона!
Переустановил XE8 на 10,1 Berlin, теперь все компилированные приложения(включая ранние) при смене ориентации вылетают
Такое ощущение что проблема в Delphi. но что не могу понять...
То есть если запускать или компилировать приложение при любой ориентации, то оно запустится и работает нормально, но стоит только повернуть телефон то сразу оно закрывается!
Пробовал и пустую форму и примеры DelphI проекты, все закрывается при смене. И разные стили менял
Все приложения из Play Маркета работают отлично.
В чем может быть проблема? версия андройда 6.0 модель Redmi Note 4
-
Здравствуйте!
Есть замечательная русская программа ТЕХТРАН: http://www.tehtran.com/nestf.html
Мне нужен максимум такой же - минимум что предложите алгоритм (раскладки деталей на листе) работы в DELPHI что бы я его мог сам в дальнейшем исправлять и доделывать
ТРЕБУЕТСЯ ТОЛЬКО АЛГОРИТМ ЗАПОЛНЕНИЯ ПРЯМОУГОЛЬНИК ОПРЕДЕЛЕННЫМИ КОНТУРАМИ, вся программа ТЕХТРАН у меня уже есть.
Будут входные данные:
- Минимум это простейшие фигуры:размеры прямоугольников и окружностей - максимум это фигуры сложной формы в формате DXF(AutoCad) и их количества(примерно безгранично) для каждой фигуры будут параметры:
- Размеры(для простейших это толщина,ширина и длина; для DXF это толщина и файл DXF) - все в миллиметрах
- Кол-во (шт)
- Размер листа прямоугольный(пример: 10х1500х6000мм, 5х2000х3000мм, 100х100х3000мм) и их кол-во, скажет так первое значение это толщина, второе - ширина, третье - длинна.
- Разрешенные расстояния между фигурами и от края листа до фигур - все в миллиметрах
Кол-во данных должно быть примерно безгранично
На выходе надо получить требуемое-подходящее минимальное кол-во листов для всех фигур!
Ну и соответственно визуализировать результат например на TImage
Это не полное техзадание, но сколько примерно это будет стоить?
Хотелось бы использовать это модуль на всех платформах, но как минимум это Windows.
Заранее спасибо!
-
а если при старте приложения вызвать принудительно клавиатуру, запомнить размер и принудительно закрыть ее?
-
3 часа назад, Равиль Зарипов (ZuBy) сказал:
При открытии/ворачивании в приложение очисти буфер
Требуется только TEditы(возможно определенные)
в приложении есть TMemo, там должно все работать
-
Delphi 10,1 berlin
Здравствуйте!
Подскажите как отключить на android в TEdit появляющиеся кнопки ВСТАВКА КОПИРОВАТЬ и т.д.
или как запретить вставлять из буфера в приложении?
Спасибо!
-
1 час назад, Равиль Зарипов (ZuBy) сказал:
хотите сделать чтобы всегда показывалась нижняя строчка?
нет, надо чтобы просто String обновился с выбранным фильтром без вылетов, с первой строчки...
Может можно сделать такой вариант: При выборе(фокусе) Combobox чтобы останавливалась прокрутка, как там можно сделать?
-
4 часа назад, krapotkin сказал:
нужно проверять, не находится ли грид в состоянии прокрутки, и прекращать ее
нет под рукой студии, чтобы сказать точнее
а как ее прекратить?
-
Здравствуйте! Delphi 10.1 Berlin, android 6
Есть СomboBox, в нем выбираю фильтр для вывода в StringGrid списка из файла базы.
При выборе в ComboBox "ВСЕ" - StringGrid заполняется большим! списком, который соответственно можно прокручивать по инерции
Есть выбор "1" в ComboBox, при котором StringGrid заполняется всего несколькими записями, которые умещаются в пол экрана(которые не прокручиваются)
Момент такой: Если StringGrid прокручивается по инерции(с выбором "ВСЕ"), а в этот момент выбрать выбор "1" то приложение вылетает (на android)
Я так понял это из-за того что Stringу нечего прокручивать!?
Подскажите пожалуйста решение этой проблемы . Заранее спасибо!
-
Все понятно, всем спасибо!
-
1 час назад, AliZairov сказал:
Привет. Я использую самый так. Более стабильная.
function checkNetwork: Boolean; var TCP: TIdTCPClient; begin Application.ProcessMessages; TCP := TIdTCPClient.Create(nil); try TCP.ReadTimeout := 2000; TCP.ConnectTimeout := 2000; TCP.Port := 80; TCP.Host := 'google.com'; TCP.Connect; TCP.Disconnect; Result := True; except Result := False; TCP.Free; end; end;
Этот вариант у меня почему то работает только в WINDOWS, на смартфоне приложение вылетает
-
9 минут назад, ENERGY сказал:
В правой панели выберите платформу Android, а не Windows.
Спасибо заработало!
Я почему то решил что это и под WINDOWS тоже сработает, но видимо нет.
Правда пришлось еще файлы кое какие добавлять в папку проекта
Может заодно подскажете:
1) где в настройках DELPHI прописать пути для проекта к файлам, допустим которые находятся здесь:
C:\Program Files (x86)\Embarcadero\Studio\18.0\source\rtl
Чтобы не копировать их в папку проекта
2) apk файл после выполнения компиляции второго варианта ( https://github.com/AndrewEfimov/Android-API/tree/master/ActiveNetworkInfo ) занимает более 7мб
это нормально?
-
25 минут назад, Andrey Efimov сказал:
Ну, не знаю где вы накосячили, но я сегодня как раз добавлял свой класс в проект и всё отлично работает...
Что значит все Pasы?
Если второй вариант у вас, это https://github.com/AndrewEfimov/Android-API/tree/master/ActiveNetworkInfo, то нужно:
- положить файл ActiveNetworkInfo.Android.pas в папку вашего проекта
- подключить этот файл в Uses вашего проекта
- использовать в коде проекта - TActiveNetworkInfo.метод (например, TActiveNetworkInfo.IsConnected)
p.s. Использую Delphi Berlin 10.1 Update 2
После "положить файл ActiveNetworkInfo.Android.pas в папку вашего проекта" и подключение в Uses начинает ругаться на нехват Androiapi. и Posix. , наверно не настроен Delphi?, по этому все эти PASы добавил в папку.
Далее начинает ругаться на Posix.StdDef.size_t; и Psize_t = Posix.StdDef.Psize_t;
На андроиде приложение вылетает при вызове IdIMAP4.Connect()
в Проблемы запуска с устройствами
Опубликовано
как не рабочий если в windows работает!?