AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Bitmap zu groß ?

Ein Thema von sko1 · begonnen am 18. Mai 2017 · letzter Beitrag vom 18. Mai 2017
Antwort Antwort
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Bitmap zu groß ?

  Alt 18. Mai 2017, 12:35
Hallo,

ich habe bisher funktionierenden Code in einen Thread ausgelagert, was unter Windows problemlos funktioniert.

Beim Start unter Android laufe ich in eine Fehlermeldung "Bitmap zu groß" mit folgendem Code:

Delphi-Quellcode:
    Memo := TMemo.Create(Nil);
    Memo.Lines.LoadFromFile(filename, TEncoding.UTF8);
    xmlString := Memo.Lines.Text;
Es knallt beim LoadFromFile, es handelt sich dabei definitiv um eine XML-Datei und warum da die genannte Fehlermeldung kommt ist mir völlig unerklärlich weil was hat das mit Bitmap zu tun?

Hat jemand eine Idee?

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 12:37
Benutz dafür lieber eine TStringlist:
Delphi-Quellcode:
StrList := TStringList.Create;
StrList.LoadFromFile(filename, TEncoding.UTF8);
xmlString := StrList.Text;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 12:43
Ich gehe davon aus, daß XML soll angezeigt werden, weshalb ein Memo verwendet wurde.
Wie groß ist die XML-Datei? Genauer: Wie viele Zeilen hat sie?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 12:51
In deinem Zusammenhang kann ich mir zwar nicht erklären wo da ein TBitmap verwendet wird. Aber ich habe diese Meldung auch schon öfter erhalten.

Grund: TBitmap war nicht wirklich Thread-Safe unter Delphi 10.1 Berlin.
In 10.2 Tokyo sollte das funktionieren. Konnte ich aber noch nicht testen, da meine funktionierende App (Berlin) auf Android mit Tokyo aktuell überhaupt nicht mehr startet.

Vielleicht behebt das dein Problem ja dann auch. Oder verwendet du bereits Tokyo?
Andreas Blenk
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 12:59
Ich gehe davon aus, daß XML soll angezeigt werden, weshalb ein Memo verwendet wurde.
Wie groß ist die XML-Datei? Genauer: Wie viele Zeilen hat sie?
Die letzte Zeile seines Codes sieht eher aus als würde er ein Memo zu Laden von Text missbrauchen.
Und Memo.Lines hat Events für den Fall, dass etwas geändert. In diesen Events wird die Darstellung des Textes im Memo aktualisiert.
Mein Verdacht war, dass TMemo unter Android nicht klar kommt ohne Parent.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 13:50
ich habe bisher funktionierenden Code in einen Thread ausgelagert, was unter Windows problemlos funktioniert.
Nein. Es funktioniert nur zufälligerweise bei dir immer unter Windows.
Zugriff auf GUI-Control in einem Thread ist ein NoGo. Da hat Windows was dagegen. GUI-Controls sind nur im erzeugenden Thread gültig!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 13:59
Ihr seid Klasse !

Das TMemo scheint wirklich ein Problem zu haben, ich habe es verwendet weil ich da das Encoding beim LoadFromFile hatte.

Dass TStringList das auch kann, war mir nicht bewusst, dass die Delphi Codevervollständigung bei mir die überladene Varianten mit anderen Parametern anzeigt und es bei TStringList auch Encoding gibt ist mir immer wieder irgendwie entgangen!

Problem gelöst!

Ciao
Stefan
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 14:02
ich habe bisher funktionierenden Code in einen Thread ausgelagert, was unter Windows problemlos funktioniert.
Nein. Es funktioniert nur zufälligerweise bei dir immer unter Windows.
Zugriff auf GUI-Control in einem Thread ist ein NoGo. Da hat Windows was dagegen. GUI-Controls sind nur im erzeugenden Thread gültig!
Im Prinzip hast Du Recht, wie sollte man dann aber z.B. vorgehen, wenn man einen Thread erzeugt (damit Android nicht meckert dass das Programm bei langen Operationen nicht mehr reagiert) und von diesem Thread auf eine TProgressBar zugreifen möchte um deren Value zu ändern?

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 14:06
Im Prinzip hast Du Recht, wie sollte man dann aber z.B. vorgehen, wenn man einen Thread erzeugt (damit Android nicht meckert dass das Programm bei langen Operationen nicht mehr reagiert) und von diesem Thread auf eine TProgressBar zugreifen möchte um deren Value zu ändern?
thread.Synchronize(SetProgressbarProc)

In SetProgressbarProc kannst du dann ohne Bedenken auf die GUI-Elemente zugreifen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#10

AW: Bitmap zu groß ?

  Alt 18. Mai 2017, 14:33
FMX ... da malt Delphi vieles selber (außer man versucht Plattformkomponenten zu nutzen)
Und damit das malen schneller geht, wird intern manchmal ein Bitmap verwendet.

Aber es war natürlich eh komisch, für sowas ein unsichtbares Memo verwenden zu wollen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz