AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi ShellNotifier löst beim Start schon OnChange aus
Thema durchsuchen
Ansicht
Themen-Optionen

ShellNotifier löst beim Start schon OnChange aus

Ein Thema von torud · begonnen am 24. Feb 2006 · letzter Beitrag vom 14. Mär 2006
Antwort Antwort
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

ShellNotifier löst beim Start schon OnChange aus

  Alt 24. Feb 2006, 10:57
Hallo Wissende,

ShellNotifier löst beim Start schon OnChange-Ereignis aus. Das ist insofern Problematisch, weil dadurch in meinen Routinen versucht wird eine Stringliste 2 x innerhalb kürzester Zeit in ein und dieselbe Datei zu speichern. Das schafft das Tool aber nicht, weil entweder die Datei noch in Nutzung ist oder aber weil sich sich selbst dabei einholt!? Setze ich nun im OnChange-Event eine Showmessage dazwischen schafft es das Programm die Datei zu speichern und es gibt keine Problem. Ich habe nun schon versucht mit einer globalen boolschen Variable, welche ich beim Start auf True setze und nach dem erstmaligen Speichern der Datei auf False setze, den ShellNotifier zu deaktivieren. Leider ohne Erfolg.

Wie kann ich also dieses Problem umgehen?

Selbst mit Try Finally End hat es nicht geklappt. Sleep(5000) hat auch nicht geholfen...
Danke
Tom
  Mit Zitat antworten Zitat
Peter Wolf

Registriert seit: 15. Apr 2004
21 Beiträge
 
#2

Re: ShellNotifier löst beim Start schon OnChange aus

  Alt 24. Feb 2006, 12:37
Hallo,

ich hatte mal ein ähnliches Problem mit ShellNotifier, wo ein ShowMessage oder beim Debuggen alles so funktionierte, wie es sollte, aber ohne nicht.
Mit Sleep bist Du schon fast auf dem richtigen Weg, musst nur noch ein Application.ProcessMessages mit einbauen (vieleicht auch abwechselnd sleep app... sleep app.., genau weiss ich es nicht mehr). Dann hat's bei mir funktioniert.

Grüße Peter
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#3

Re: ShellNotifier löst beim Start schon OnChange aus

  Alt 24. Feb 2006, 12:58
Du kannst auch eine TCriticalSection verwenden - einfach mal in der OH nachlesen.

Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#4

Re: ShellNotifier löst beim Start schon OnChange aus

  Alt 14. Mär 2006, 12:51
Ich habe mal folgendes probiert, wurde aber nicht mit Erfolg belohnt:

Delphi-Quellcode:
procedure TForm1.ShellChangeNotifier1Change;
begin
    LockXY.Acquire;
    //ShowMessage('change'); //mit dieser messagebox funktioniert es
      try
         CreateIndexPage;
      finally
        //refresh des browsers
        if (StatusBar1.Panels[0].Text = '') or (StatusBar1.Panels[0].Text = 'blank')then
          web_cis.Navigate(Htm_Path+'index.html')
        else
          web_cis.ExecWB(OLECMDID_REFRESH, OLECMDEXECOPT_DODEFAULT);
        //entsperren
        LockXY.Release;
      end;
end;
LockXY habe ich global deklariert und im FormCreate erzeugt. Wo ist nun der Fehler? Benutze ich es falsch, oder wo ist das Problem??? Komisch ist auch, dass das Problem nur auftaucht, wenn ich die CP-Files über lokales Netzwerk speichere und das Programm dann lokal sich updaten soll. Wenn ich alles komplett auf einem Rechner mache, ist eher unproblematisch...
Danke
Tom
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: ShellNotifier löst beim Start schon OnChange aus

  Alt 14. Mär 2006, 12:59
Moin Tom,

hast Du schon einmal probiert das ganze ohne Komponente zu lösen?
MSDN-Library durchsuchenSHChangeNotifyRegister
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#6

Re: ShellNotifier löst beim Start schon OnChange aus

  Alt 14. Mär 2006, 13:04
Ehrlich gesagt nicht, weil ich mich mit Api´s überhaupt nicht auskenne. Ist ne billige ausrede, aber ich konnte selbst aus dem von Dir verlinkten Suchergebnis mit den 10 Folgelinks nichts ausmachen, was mich per sofort in Delphi glücklich macht. Scheint damit zusammenzuhängen, weil ich kein "richtiger" Programmierer bin.

Naja und selbst hier im Forum blieb die Suche nach SHChangeNotifyRegister ergebnislos - Leider.
Danke
Tom
  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 18:30 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