AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Ereignisbehandlung "abschalten" während Grid.OnDrawCell
Thema durchsuchen
Ansicht
Themen-Optionen

Ereignisbehandlung "abschalten" während Grid.OnDrawCell

Ein Thema von messie · begonnen am 2. Mai 2007 · letzter Beitrag vom 2. Mai 2007
Antwort Antwort
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Ereignisbehandlung "abschalten" während Grid.OnDra

  Alt 2. Mai 2007, 09:07
Moin,

ich wollte eine Formatierungsprozedur für ein TntStringGrid auslagern, weil ich mehrere Grids mit denselben Daten füttere. Wenn ich im OnDrawCell eine externe Routine aufrufe die das übernimmt, wird auch jedesmal das OnDraw-Ereignis ausgelöst und damit eine Endlosschleife.

Wie kann ich während der Ausführung der ausgelagerten Routine die Ereignisbehandlung Neuzeichnen abschalten? Das Problem ist, daß es ja einmal funktionieren soll.

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Ereignisbehandlung "abschalten" während Grid.O

  Alt 2. Mai 2007, 09:10
Das liegt vermutlich daran das die externe Funktion per Application.ProcessMessages genau eine Messagebehandlung will.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#3

Re: Ereignisbehandlung "abschalten" während Grid.O

  Alt 2. Mai 2007, 09:23
entweder du verwendest CriticalSections
oder du verwendest eine klassenglobale boolean Variable, die angibt, ob der Abschnitt derzeit ausgeführt wird.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#4

Re: Ereignisbehandlung "abschalten" während Grid.O

  Alt 2. Mai 2007, 09:25
Moin moin,

ob's in OnDrawCell auch funktioniert, weiss ich nicht, aber an anderer Stelle mache ich Ähnliches so:
Delphi-Quellcode:
function machwas;
  begin
    OnEreignis := nil;
    meinKram;
    OnEreignis := machwas;
  end;
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Ereignisbehandlung "abschalten" während Grid.O

  Alt 2. Mai 2007, 09:25
Zitat von Bernhard Geyer:
Das liegt vermutlich daran das die externe Funktion per Application.ProcessMessages genau eine Messagebehandlung will.
Nein, aber ich habe die Routine einem anderen Object zugeordnet um den Sender übergeben zu können und das wird es wohl auslösen. Ich zeichne ja innerhalb des OnDraw das Grid auch neu.

Grüße, Messie
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:14 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