Einzelnen Beitrag anzeigen

JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#23

AW: TRtfLabel - Label zur Darstellung von RTF

  Alt 14. Jun 2017, 14:58
Hat es hier schon jemand geschafft TRtfLabel auf 64 Bit zu verwenden?
Ich probiere das gerade und bekomme immer folgende Exception:

Zitat:
Im Projekt Project5.exe ist eine Exception der Klasse $C0000005 mit der Meldung ' c0000005 ACCESS_VIOLATION' aufgetreten.
Ich habe ein Beispielprojekt im Anhang wo ich das ganze mal nicht als Komponente für die IDE installieren muss sondern einfach von TRTFLabel eine Instanz erzeuge.

Zur Sicherheit habe ich auch die TLB für die msftedit.dll neu erzeugt aus der 64 Bit Version der DLL(RichTom.pas, die alte Version ist auch im Zip mit Unterstrich am Anfang).

Hat jemand eine Idee was hier schief läuft?
Der Aufruf von TRTFLabel.Create verhält sich bei 64Bit anders als in 32 Bit (andere Funktionen werden aufgerufen), deswegen pase ich hier auch mal beide Stacktraces.
Der 64 Bit Stacktrace geht genau bis zu der Zeile bis dann die Access_Violation auftritt.

Zitat:
System._IntfClear(Pointer(nil) as IInterface)
DelphiTextServ.TTextServices.CreateEx([])
DelphiTextServ.TTextServices.Create
RtfLabel.TLabelTextServices.Create($24BA270)
RtfLabel.TCustomRtfLabel.Create($24B2C20)
Unit5.TForm5.FormCreate($24B2C20)
Vcl.Forms.TCustomForm.DoCreate
Vcl.Forms.TCustomForm.AfterConstruction
System._AfterConstruction($24B2C20)
Vcl.Forms.TCustomForm.Create($24D0DB0)
Vcl.Forms.TApplication.CreateForm(TComponentClass( $5A3CF0),(no value))
Project5.Project5
:0000000076D059CD ; C:\WINDOWS\system32\kernel32.dll
:0000000076F3A561 ; ntdll.dll
32Bit:
Zitat:
DelphiTextServ.TTextServices.TxGetPropertyBits(646 3,0)
:6b9bb324 ; C:\WINDOWS\SysWOW64\MSFTEDIT.DLL
:6b9bb220 MSFTEDIT.CreateTextServices + 0x52
DelphiTextServ.TTextServices.CreateEx([])
DelphiTextServ.TTextServices.Create
RtfLabel.TLabelTextServices.Create($1074C90)
RtfLabel.TCustomRtfLabel.Create($1075CC0)
Unit5.TForm5.FormCreate($1075CC0)
:004fec6f TCustomForm.DoCreate + $37
:004fe8b3 TCustomForm.AfterConstruction + $17
:004fe882 TCustomForm.Create + $1A6
:005092ad TApplication.CreateForm + $79
Project5.Project5
:74e5336a kernel32.BaseThreadInitThunk + 0x12
:77129902 ntdll.RtlInitializeExceptionChain + 0x63
:771298d5 ntdll.RtlInitializeExceptionChain + 0x36
Angehängte Dateien
Dateityp: 7z RTFTest64Bit.7z (98,6 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat