![]() |
GlobalLock und Unicode
Erst mal frohes neues Jahr
Habe dieses von den Kollegen aus der Schweiz ![]()
Code:
Habe versucht diese Procedure zu verwenden nun habe ich diesen Fehler
procedure TMyDBRichEdit.WMPaste(var Message: TMessage);
var Accept: Boolean; Handle: THandle; CText: string; LText: string; AText: string; begin if FPreventPaste then Exit; if IsClipboardFormatAvailable(CF_TEXT) then begin try OpenClipBoard(Self.Handle); Handle := GetClipboardData(CF_TEXT); if Handle = 0 then Exit; CText := StrPas(GlobalLock(Handle)); // Hier meckert er GlobalUnlock(Handle); Accept := True; if Assigned(FOnPaste) then FOnPaste(Self, CText, Accept); if not Accept then Exit; LText := ''; if SelStart > 0 then LText := Copy(Text, 1, SelStart); LText := LText + CText; AText := ''; if (SelStart + 1) < Length(Text) then AText := Copy(Text, SelStart + SelLength + 1, Length(Text) - SelStart + SelLength + 1); Text := LText + AText; finally CloseClipBoard; end; end; end; Zitat:
|
AW: GlobalLock und Unicode
Seit Neustem (D2009) sind Funktionen wie StrPas überladen.
GlobalLock gibt einen untypisierten Pointer zurück, aber da es nun zwei Funktionen gibt, weiß der Compiler nicht, welche Funktion PWideChar oder PAnsiChar er aufrufen soll, was er dir auch unmißverständlich gesagt hat. :zwinker: Lösung: Caste des Pointer in den entsprechenden Typen. PS: Zitat:
PPS: Warum nutzt du nicht einfach die vorhandene ![]() ![]() |
AW: GlobalLock und Unicode
Danke
PPS: Warum nutzt du nicht einfach die vorhandene Delphi-Referenz durchsuchenTClipboard-Instanz Delphi-Referenz durchsuchenClipboard und läßt jene diese Schweinerei für dich veranstalten? Habe ich schon, ich wollte nur mal wissen ob es dafür eine Lösung gibt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz