AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

weiterlaufen während showmessage()

Ein Thema von happyaura · begonnen am 25. Mai 2006 · letzter Beitrag vom 27. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#11

Re: weiterlaufen während showmessage()

  Alt 26. Mai 2006, 09:59
Wie währe es den so:

Delphi-Quellcode:
implementation

{$R *.dfm}

var
  ShowMyMessage: Boolean = FALSE;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  // Anderer Code

  if Bedingung then
  begin
    if not ShowMyMessage then
    begin
      ShowMyMessage := TRUE;
      MessageBox(Handle, 'Hi', 'Information', {MB_TOPMOST or} MB_ICONINFORMATION or MB_OK);
    end;
  end;

  // Anderer Code
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#12

Re: weiterlaufen während showmessage()

  Alt 26. Mai 2006, 14:37
Er will aber, das das Programm weiterläuft (weiterarbeitet), während die Meldung angezeigt wird.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#13

Re: weiterlaufen während showmessage()

  Alt 26. Mai 2006, 15:20
Hallo,

du könntest es auch so machen:

Delphi-Quellcode:
  private
    { Private-Deklarationen }
    f: TForm;

{ ... }

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  Timer1.Enabled := CheckBox1.Checked;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  If CheckBox2.Checked then
    begin
      If not f.Visible then
        f.Show;
    end
  else
    begin
      f.Hide;
    end;

  Label1.Caption := TimeToStr(now);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  f := CreateMessageDialog('Meldung', mtWarning, []);
  f.Height := 75;
end;
CheckBox2.checked wäre deine Bedingung
und die checkBox1 diente mir nur als ein/ausschalten des timers.

ach ja - über CreateMessageDialog bekommst du eine TForm.
Und diese kannst du, wenn du es willst, nach Herzenslust ändern.

z. B.:
Delphi-Quellcode:
f.color := blue;
etc.
[edit]
die Zeile:
Label1.Caption := TimeToStr(now); dient nur dazu, dass man sieht dass das Prog weiterläuft
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
happyaura

Registriert seit: 12. Jan 2005
Ort: Hamburg
73 Beiträge
 
Delphi 6 Personal
 
#14

Re: weiterlaufen während showmessage()

  Alt 27. Mai 2006, 01:39
Vielen Dank für eure antworten.

ich hab es so ähnlch gehandhabt, wie Helmi vorgeschlagen hat, sprich mit show und hide gearbeitet. Nur hab ich mein eigenes Formular, in dem ich mit ein paar Labels ein paar Statusmeldungen ausgebe. Aber CreateMessageDialog kann man sich mal gut merken.
Es soll schon so sein, dass während des dies warnfenster offen ist, andere eingaben im Hauptformular getätigt werden können, bzw sogar sollen, damit die fehlermeldung nicht mehr auftritt.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: weiterlaufen während showmessage()

  Alt 27. Mai 2006, 08:32
Zitat von Cyberbob:
Er will aber, das das Programm weiterläuft (weiterarbeitet), während die Meldung angezeigt wird.
Und das macht es auch, MessageBox hält das Programm nicht an!
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#16

Re: weiterlaufen während showmessage()

  Alt 27. Mai 2006, 09:35
also bisher hat bei mir Messagebox auch immer dazu geführt das der Source hinter dem Aufruf erst ausgeführt wird wenn der Dialog geschlossen wird.
Es gibt aber auch noch die Möglichkeit mit PostMessage an die eigene Anwendung eine Message zu schicken und bei Empfang der Message ShowMessage aufzurufen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#17

Re: weiterlaufen während showmessage()

  Alt 27. Mai 2006, 10:07
@Gummibärchen, ich bezog mich nur auf das Timerbeispiel.

Zitat von SirThornberry:
Es gibt aber auch noch die Möglichkeit mit PostMessage an die eigene Anwendung eine Message zu schicken und bei Empfang der Message ShowMessage aufzurufen.
Das ist auch eine Idee die man Umsetzen könnte.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const
  WM_MYMESSAGE = WM_USER + $000001;

type
  TMyMessage = Record
                 // foo
               end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure WMMyMessage(var M: TMyMessage); message WM_MYMESSAGE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMMyMessage(var M: TMyMessage);
begin
  ShowMessage('Hi');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  PostMessage(Handle, WM_MyMessage, 0, 0);
end;

end.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09:57 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