Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#1

Twain-Modul modal starten

  Alt 3. Mär 2015, 13:18
Moinsen,

gibt es eine Möglichkeit, mit DelphiTwain das Scan-Modul modal zu starten, so daß der Anwender nicht auf Formulare der Hauptanwendung zugreifen kann, während das Scan-Modul sichtbar ist?

Hintergrund: Greift der Anwender (z.B. aus Ungeduld, weil der Scanvorgang so lange dauert) auf Formulare der Hauptanwendung zu, löst das einen Fehler aus, wenn gerade gescannt wird. Der Scanner bleibt stehen und läßt sich erst durch einen Neustart (bzw. Windows Ab- und Anmeldung) wieder zum Arbeiten bewegen.

Im Projekt XXX.exe ist eine Exception der Klasse $C0000008 mit der Meldung 'system exception (code 0xc0000008) at 0x76e605b7' aufgetreten.

Der Aufruf sieht so aus:
Delphi-Quellcode:
Procedure TFormScanner.Bit_ScanStartClick(Sender: TObject);
begin
  Twain.SelectedSourceIndex := ListBox_Quellen.ItemIndex;

  If Assigned(Twain.SelectedSource) Then
  Begin
    Twain.SelectedSource.Loaded := True;
    Twain.SelectedSource.Modal := True;
    Twain.SelectedSource.ShowUI := True;
    Twain.SelectedSource.Enabled := True;
  End;
end;
Offenbar zeitigt Twain.SelectedSource.Modal := True; nicht die erhoffte Wirkung, ich kann während des Scannens noch immer auf das Formular FormScanner zugreifen und z.B. die Grafik speichern. Danach erscheint dann die obige Fehlermeldung, manchmal auch erst beim nächsten Scanversuch, auch nach Neustart der Anwendung. Drücke ich auf Fortsetzen, kommt dieselbe Meldung in anderer Form noch einmal:

In Projekt XXX.exe trat ein Problem mit folgender Meldung auf: 'system exception (code 0xc0000008) at 0x76e605b7'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen.

Geändert von Perlsau ( 3. Mär 2015 um 13:23 Uhr)
  Mit Zitat antworten Zitat