Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#1

Zwischenablage Zugriff verweigert

  Alt 16. Aug 2022, 07:26
Hallöle...

Zitat:
Zwischenablage Zugriff verweigert kann nicht geöffnet werden.
...der Fehler kommt in diesem Falle aus einer Fremdkomponente. (DevExpress) Das das ein Windowsproblen ist, ist bekannt.
https://www.delphipraxis.net/164785-...-gesperrt.html

Mein MadExcept schließt immer die komplette Anwendung... Welche Möglichkeiten gibt es das anders abzufangen...

PS: In meinen Anwendungen habe ich immer eine Schleife mit Abbruchbedingung um den Except Block...wie kriege ich das mit der Fremdkomponente hin? (ich weigere mich eigentlich bei DevExpress Workarounds einzuarbeiten...mit jeder neuen Version wieder von vorn. ) Oder direkt im Vcl.Clipboard?
Delphi-Quellcode:
procedure TcxCustomTextEdit.PasteFromClipboard;
var
  ANewSelStart: Integer;
  ANewText, S: string;
begin
  if Clipboard.HasFormat(CF_TEXT) then
    if Focused then
    begin
      BeginUserAction;
      try
        S := Clipboard.AsText;
        if CanChangeSelText(S, ANewText, ANewSelStart) then
          InnerEdit.CallDefWndProc(WM_PASTE, 0, 0);
      finally
        EndUserAction;
      end;
    end
    else
      SelText := Clipboard.AsText;
end;
...
procedure TClipboard.Open;
begin
  if FOpenRefCount = 0 then
  begin
    FClipboardWindow := Application.Handle;
    if FClipboardWindow = 0 then
    begin
      FClipboardWindow := AllocateHWnd(MainWndProc);
      FAllocated := True;
    end;
    if not OpenClipboard(FClipboardWindow) then
      raise EClipboardException.CreateResFmt({$IFNDEF CLR}@{$ENDIF}SCannotOpenClipboard, // <---
        [SysErrorMessage(GetLastError)]);
    FEmptied := False;
  end;
  Inc(FOpenRefCount);
end;
Was würdet ihr empfehlen?

Geändert von haentschman (16. Aug 2022 um 08:08 Uhr)
  Mit Zitat antworten Zitat