AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Leinwand/Bild erlaubt kein zeichnen

Ein Thema von jonny · begonnen am 10. Jan 2004 · letzter Beitrag vom 3. Aug 2006
Antwort Antwort
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#1

Leinwand/Bild erlaubt kein zeichnen

  Alt 10. Jan 2004, 04:34
Hallo ich bins schon wieder hab mal wieder ein Problem und zwar wenn ich dynamisch ein Formular aufrufe Create bekomme ich die Meldung "Leinwand/Bild erlaubt kein zeichnen" was kann das bedeuten wie kann ich das ändern die Meldung kommt direkt beim Createn des Formulars. In der OnCreate Routine steht nix also kann das nicht der Grund sein aber was ist es dann.
  Mit Zitat antworten Zitat
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 11. Jan 2004, 16:41
Hat denn niemand ne Antwort für mich?
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 11. Jan 2004, 17:47
Irgendwer will noch innerhalb des Create des Formulars schon malen bevor alles initialisiert ist.
Also entweder eine schlecht programmierte Komponente oder du machst doch etwas unerlaubtes im Create. Zeig mal ein bischen Code.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 11. Jan 2004, 17:51
versuchs mal mit
with form1 do begin
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 11. Jan 2004, 17:55
Wie rufst du Create auf. TMyForm.Create oder MyForm.Create? Das zweite ist schlicht Unsinn.
  Mit Zitat antworten Zitat
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 11. Jan 2004, 18:28
Das Passiert habe ich gerade festgestellt wenn ich die Form in der IndyTCPServer.Execute Rutine aufrufe ansonsten funktioniert das mit dem Gleichen Code.

Ich rufe die Fom mit
Code:
Application.CreateForm('TfrmGetFile' TfGF);
auf
und schreibe da nachher so Sachen rein
Code:
TfGF.Name:='GF0';
TfGF.Caption:='Get File';
usw.

Aber warum funktioniert das nicht in der Execute Rutine????
  Mit Zitat antworten Zitat
moppelstroppel

Registriert seit: 9. Dez 2005
Ort: Haltern
2 Beiträge
 
#7

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 13. Jun 2006, 11:40
Also ich habe das gleiche Problem im C++Builder und ich vermute, dass es bei mir an den Komponenten liegt. Denn das Problem ist auf einmal aufgetreten. Kurz davor habe ich ein Update von Komponenten durchgeführt (DevExpress). Ich habe nun alle Komponentenhersteller angeschrieben bei denen letztens Änderungen waren und hoffe, dass einer seinen Finger hebt.
  Mit Zitat antworten Zitat
Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#8

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 3. Aug 2006, 09:29
Moin Moin,

bekomme genau die selbe Fehlermeldung, nur weiß ich nicht warum da ich nichts male usw
das ganze läuft in einem thread

Delphi-Quellcode:
type
  Thread_Nr_01 = class(TThread)
    procedure Hauptprogramm;
    procedure Execute; override;
  end;

procedure Thread_Nr_01.Execute;
begin
  while not Terminated do begin
    Hauptprogramm
  end;
end;

procedure Thread_Nr_01.Hauptprogramm;
var
  data : TIdMultiPartFormDataStream;
  dieurl, line : string;
  neueinlesen, iRow : Integer;
  dateistream : TFilestream;
begin
  neueinlesen := 1;

  // checken ob schon mal runtergeladen wurde
  if FileExists('artikel_shop_' + Form1.StringGrid1.Cells[2,Form1.stringgrid1.row] + '.txt') then begin
    if MessageDlg('Die Liste wurde bereits am '
      + DateToStr(FileDateToDateTime(FileAge('artikel_shop_' + Form1.StringGrid1.Cells[2,Form1.stringgrid1.row] + '.txt')))
      + ' um '
      + TimeToStr(FileDateToDateTime(FileAge('artikel_shop_' + Form1.StringGrid1.Cells[2,Form1.stringgrid1.row] + '.txt')))
      + ' Uhr vom Server geladen. Möchten Sie die Liste vom Server neu einlesen ?', mtConfirmation, [mbYes,mbNo],0) = IDNo then
      begin
        neueinlesen := 0;
      end;
  end;
........ code geht noch weiter ......
der debugger bleibt bei dieser zeile stehen:
if MessageDlg('Die Liste wurde bereits am '

nur warum ?
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 3. Aug 2006, 09:51
Neue Frage -> Neuer Thread

Und hast Du nicht die Warnhinweise gelesen die bei verwendung des "Wizards" in Delphi in deiner Thread-Unit erzeugt wurden? Die VCL-GUI-Controls dürfen nur im Hauptthread der Anwendung verwendet werden (Thread-Sicherheit usw.).
Und da die MessageDlg-Funktion mittels VCL-Hausmitteln den Dialog erstellt bekommst du damit im Thread Probleme.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#10

Re: Leinwand/Bild erlaubt kein zeichnen

  Alt 3. Aug 2006, 09:57
Naja die Frage ist ja genau die selbe Fehlermeldung oder nicht ? Und eine richtige Lösung wurde ja noch nicht gefunden. Aber wenn das hier halt immer so gewünscht wird auch wenn nur ein kleiner Teil anders ist dann kann ich das in Zukunft gerne machen

Wizard ? Habe keine Wizard benutzt

aber habe nal mit MessageBox probiert, da gibt es keine Probleme mit diesem Fehler, nur kann ich da dann solange auf OK klicken und das Programm hängt in ner schleife fest, werde diese abfrage wohl nach außerhalb des threads verlagern


EDIT: Ich held, ich hatte das terminate vergessen
Jens
  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 16:23 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