Page 1 of 1

Problem with crash after modifying fonts in a table

Posted: Fri Feb 04, 2011 3:45 am
by DickBryant
I'm using this code to force all fonts in a given table column to a standard style (they may have been pasted from other sources, etc.):

//Get the 'handle' of the inserted table
for i := Fmain.RichViewEdit1.ItemCount - 1 downto 0 do
begin
case Fmain.RichViewEdit1.GetItemStyle(i) of
rvsTable:
Table := TRVTableItemInfo(Fmain.RichViewEdit1.GetItem(i));
end;
end;
ItemNo := Fmain.RichViewEdit1.GetItemNo(table);

Fmain.RichViewEdit1.BeginItemModify(ItemNo, TableData);


for i := 0 to MasterRVTable.RowCount - 1 do
begin
for j := 0 to MasterRVTable.Cells[i,1].ItemCount - 1 do
begin
if MasterRVTable.Cells[i,1].GetItemStyle(j) <> 1 then
MasterRVTable.Cells[i,1].GetItem(j).StyleNo := 1;
end;
end;


FMain.RichViewEdit1.EndItemModify(ItemNo, TableData);
FMain.RichViewEdit1.Change;
FMain.RichViewEdit1.Format;

For small, easy files this works. But for a large and complex file (900 rows) it crashes during the Format operation in CRVFData here. If I run a similar operation on columns in the same table that do not require any changes then the format operation completes OK - so it must be being caused by the changes made to the fonts.

try
{$IFNDEF RVDONOTUSEUNICODE}
if GetRVStyle.TextStyles[GetActualStyle(item)].Unicode then
GetStringTypeExW(Locale, CT_CTYPE2, Pointer(s), Len, CharTypes^)
else
{$ENDIF}
----> GetStringTypeExA(Locale, CT_CTYPE2, Pointer(s), Len, CharTypes^);
case CharTypes[0] of
C2_LEFTTORIGHT:
Start := rvbdLeftToRight;
C2_RIGHTTOLEFT:
Start := rvbdRightToLeft;

Here's the bug report from MadExcept:

computer name : ELLSWORTH
user name : Dick Bryant <admin>
registered owner : Dick Bryant
operating system : Windows XP Service Pack 3 build 2600
system language : English
system up time : 10 hours 21 minutes
program up time : 9 minutes 3 seconds
processors : 2x Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
physical memory : 2790/3582 MB (free/total)
free disk space : (C:) 366.62 GB
display mode : 1440x900, 32 bit
process id : $f50
allocated memory : 28.44 MB
executable : Winfle120.exe
exec. date/time : 2011-02-03 20:29
version : 12.0.0.9
compiled with : Delphi 7
madExcept version : 3.0i
callstack crc : $a04495d7, $7d21f19b, $3242c8dc
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 0054D302 in module 'Winfle120.exe'. Read of address 00000000.

main thread ($1db8):
0054d302 +1ae Winfle120.exe CRVFData 971 +29 GetDrawItemBiDi
0054d441 +0b9 Winfle120.exe CRVFData 1010 +17 RearrangeLineEx
0054e143 +6e3 Winfle120.exe CRVFData 1303 +140 TCustomRVFormattedData.FinishScreenLine
0054f1ff +3b7 Winfle120.exe CRVFData 1788 +49 OnStartNewLine
00550588 +880 Winfle120.exe CRVFData 2182 +182 TCustomRVFormattedData.FormatLine
005518fe +5fe Winfle120.exe CRVFData 2742 +106 TCustomRVFormattedData.Format_
00550ecb +01f Winfle120.exe CRVFData 2486 +1 TCustomRVFormattedData.Format
005b9dc2 +426 Winfle120.exe RVTable 7918 +47 TRVTableItemInfo.UpdateCellXCoords
005b5e4a +5c2 Winfle120.exe RVTable 6745 +132 TRVTableItemInfo.InternalOnDocWidthChange
005b412f +05b Winfle120.exe RVTable 6160 +8 TRVTableItemInfo.OnDocWidthChange
00550091 +389 Winfle120.exe CRVFData 2064 +64 TCustomRVFormattedData.FormatLine
0055193d +63d Winfle120.exe CRVFData 2754 +118 TCustomRVFormattedData.Format_
0051d79e +0be Winfle120.exe RVERVData 4683 +19 TRVEditRVData.Format_
0055668c +020 Winfle120.exe CRVFData 4372 +2 TCustomRVFormattedData.UpdateView
0054768d +039 Winfle120.exe RichView 1623 +4 TCustomRichView.Format_
005474e2 +022 Winfle120.exe RichView 1253 +1 TCustomRichView.Format
007785de +4ee Winfle120.exe BatchFont 140 +98 TFBatchFont.BBQToQDefClick
004cf074 +064 Winfle120.exe Controls TControl.Click
004c4bc0 +01c Winfle120.exe StdCtrls TButton.Click
00490d25 +065 Winfle120.exe Buttons TBitBtn.Click
005f13de +0fe Winfle120.exe WinSubClass 1623 +36 TSkinButton.AfterProc
005f08b8 +05c Winfle120.exe WinSubClass 960 +9 TSkinControl.NewWndProc
004d1bb8 +02c Winfle120.exe Controls TWinControl.MainWndProc
00473984 +014 Winfle120.exe Classes StdWndProc
7e4196c2 +00a user32.dll DispatchMessageA
004ef1af +083 Winfle120.exe Forms TApplication.ProcessMessage
004ef1e6 +00a Winfle120.exe Forms TApplication.HandleMessage
004ebd1d +15d Winfle120.exe Forms TCustomForm.ShowModal
00782fe0 +02c Winfle120.exe Options TFOptionsDlg.BBBatchFontOpsClick
004cf074 +064 Winfle120.exe Controls TControl.Click
004c4bc0 +01c Winfle120.exe StdCtrls TButton.Click
00490d25 +065 Winfle120.exe Buttons TBitBtn.Click
005f13de +0fe Winfle120.exe WinSubClass 1623 +36 TSkinButton.AfterProc
005f08b8 +05c Winfle120.exe WinSubClass 960 +9 TSkinControl.NewWndProc
004d1bb8 +02c Winfle120.exe Controls TWinControl.MainWndProc
00473984 +014 Winfle120.exe Classes StdWndProc
7e4196c2 +00a user32.dll DispatchMessageA
004ef1af +083 Winfle120.exe Forms TApplication.ProcessMessage
004ef1e6 +00a Winfle120.exe Forms TApplication.HandleMessage
004ebd1d +15d Winfle120.exe Forms TCustomForm.ShowModal
007f384e +0e6 Winfle120.exe Main TFMain.Options1Click
007b7db3 +007 Winfle120.exe Question TFQuestion.RealOptionsClick
004e0a52 +0a6 Winfle120.exe Menus TMenuItem.Click
004e1bff +013 Winfle120.exe Menus TMenu.DispatchCommand
004e2b12 +082 Winfle120.exe Menus TPopupList.WndProc
004e2a61 +01d Winfle120.exe Menus TPopupList.MainWndProc
00473984 +014 Winfle120.exe Classes StdWndProc
7e4196c2 +00a user32.dll DispatchMessageA
004ef1af +083 Winfle120.exe Forms TApplication.ProcessMessage
004ef1e6 +00a Winfle120.exe Forms TApplication.HandleMessage
004ef3fe +096 Winfle120.exe Forms TApplication.Run
008185ed +471 Winfle120.exe Winfle120 initialization

thread $12cc: <priority:15>
7c90df48 +0a ntdll.dll NtWaitForMultipleObjects
7c80958a +00 kernel32.dll WaitForMultipleObjectsEx
7c80a110 +13 kernel32.dll WaitForMultipleObjects
00450aa1 +0d Winfle120.exe madExcept CallThreadProcSafe
00450b0b +37 Winfle120.exe madExcept ThreadExceptFrame
>> created by main thread ($1db8) at:
72d2328c +00 wdmaud.drv

thread $13e8: <priority:-1>
7c90df48 +0a ntdll.dll NtWaitForMultipleObjects
7c80958a +00 kernel32.dll WaitForMultipleObjectsEx
7c80a110 +13 kernel32.dll WaitForMultipleObjects
77c3a3ad +a6 msvcrt.dll _endthreadex
00450aa1 +0d Winfle120.exe madExcept CallThreadProcSafe
00450b0b +37 Winfle120.exe madExcept ThreadExceptFrame
>> created by main thread ($1db8) at:
77c3a43d +62 msvcrt.dll _beginthreadex

thread $1890: <priority:1>
7c90df48 +0a ntdll.dll NtWaitForMultipleObjects
7c80958a +00 kernel32.dll WaitForMultipleObjectsEx
7c80a110 +13 kernel32.dll WaitForMultipleObjects
77c3a3ad +a6 msvcrt.dll _endthreadex
00450aa1 +0d Winfle120.exe madExcept CallThreadProcSafe
00450b0b +37 Winfle120.exe madExcept ThreadExceptFrame
>> created by main thread ($1db8) at:
77c3a43d +62 msvcrt.dll _beginthreadex

thread $1c24:
7c90df48 +0a ntdll.dll NtWaitForMultipleObjects
7c80958a +00 kernel32.dll WaitForMultipleObjectsEx
7c80a110 +13 kernel32.dll WaitForMultipleObjects
77c3a3ad +a6 msvcrt.dll _endthreadex
00450aa1 +0d Winfle120.exe madExcept CallThreadProcSafe
00450b0b +37 Winfle120.exe madExcept ThreadExceptFrame
>> created by main thread ($1db8) at:
77c3a43d +62 msvcrt.dll _beginthreadex

thread $1ad0 (TTimerThread): <suspended> <priority:2>
005cf2d5 +29 Winfle120.exe ThdTimer 84 +2 TThreadedTimer.Create

modules:
00240000 SKY32V3C.DLL 1.0.0.0 C:\dickdata\winflash\flash_120
00400000 Winfle120.exe 12.0.0.9 C:\dickdata\winflash\flash_120
10000000 LHSAPI30.DLL 4.2.0.3 C:\WINDOWS\LHSP\System
11c70000 WMASF.DLL 11.0.5721.5238 C:\WINDOWS\system32
15110000 WMVCORE.DLL 11.0.5721.5275 C:\WINDOWS\system32
3dfd0000 iertutil.dll 8.0.6001.18992 C:\WINDOWS\system32
5ad70000 uxtheme.dll 6.0.2900.5512 C:\WINDOWS\system32
5d090000 comctl32.dll 5.82.2900.6028 C:\WINDOWS\system32
62050000 TTSMGR32.dll 6.0.1.1 C:\WINDOWS\LHSP\System
629c0000 LPK.DLL 5.1.2600.5512 C:\WINDOWS\system32
63550000 Speech.dll 4.0.4.2512 C:\WINDOWS\speech
63670000 MSTTSSYN.dll 4.0.4.2512 C:\Program Files\Common Files\microsoft shared\SpeechEngines\TTS
6d6e0000 sapi.dll 5.1.4111.0 C:\Program Files\Common Files\Microsoft Shared\Speech
71aa0000 WS2HELP.dll 5.1.2600.5512 C:\WINDOWS\system32
71ab0000 WS2_32.dll 5.1.2600.5512 C:\WINDOWS\system32
71ad0000 wsock32.dll 5.1.2600.5512 C:\WINDOWS\system32
71b20000 mpr.dll 5.1.2600.5512 C:\WINDOWS\system32
72d10000 msacm32.drv 5.1.2600.0 C:\WINDOWS\system32
72d20000 wdmaud.drv 5.1.2600.5512 C:\WINDOWS\system32
73000000 winspool.drv 5.1.2600.5512 C:\WINDOWS\system32
732e0000 RICHED32.DLL 5.1.2600.0 C:\WINDOWS\system32
74720000 MSCTF.dll 5.1.2600.5512 C:\WINDOWS\system32
74d90000 USP10.dll 1.420.2600.5969 C:\WINDOWS\system32
74e30000 RICHED20.dll 5.30.23.1230 C:\WINDOWS\system32
755c0000 msctfime.ime 5.1.2600.5512 C:\WINDOWS\system32
76390000 imm32.dll 5.1.2600.5512 C:\WINDOWS\system32
763b0000 comdlg32.dll 6.0.2900.5512 C:\WINDOWS\system32
76780000 SHFolder.dll 6.0.2900.5512 C:\WINDOWS\system32
76b40000 winmm.dll 5.1.2600.5512 C:\WINDOWS\system32
76c30000 WINTRUST.dll 5.131.2600.5922 C:\WINDOWS\system32
76c90000 IMAGEHLP.dll 5.1.2600.5512 C:\WINDOWS\system32
76fd0000 CLBCATQ.DLL 2001.12.4414.700 C:\WINDOWS\system32
77050000 COMRes.dll 2001.12.4414.700 C:\WINDOWS\system32
77120000 oleaut32.dll 5.1.2600.5512 C:\WINDOWS\system32
773d0000 comctl32.dll 6.0.2900.6028 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202
774e0000 ole32.dll 5.1.2600.6010 C:\WINDOWS\system32
77a80000 CRYPT32.dll 5.131.2600.5512 C:\WINDOWS\system32
77b20000 MSASN1.dll 5.1.2600.5875 C:\WINDOWS\system32
77b40000 apphelp.dll 5.1.2600.5512 C:\WINDOWS\system32
77bd0000 midimap.dll 5.1.2600.5512 C:\WINDOWS\system32
77be0000 msacm32.dll 5.1.2600.5512 C:\WINDOWS\system32
77c00000 version.dll 5.1.2600.5512 C:\WINDOWS\system32
77c10000 msvcrt.dll 7.0.2600.5512 C:\WINDOWS\system32
77dd0000 advapi32.dll 5.1.2600.5755 C:\WINDOWS\system32
77e70000 RPCRT4.dll 5.1.2600.6022 C:\WINDOWS\system32
77f10000 GDI32.dll 5.1.2600.5698 C:\WINDOWS\system32
77f60000 SHLWAPI.dll 6.0.2900.5912 C:\WINDOWS\system32
77fe0000 Secur32.dll 5.1.2600.5834 C:\WINDOWS\system32
78130000 urlmon.dll 8.0.6001.18992 C:\WINDOWS\system32
7c800000 kernel32.dll 5.1.2600.5781 C:\WINDOWS\system32
7c900000 ntdll.dll 5.1.2600.5755 C:\WINDOWS\system32
7c9c0000 shell32.dll 6.0.2900.6018 C:\WINDOWS\system32
7e410000 user32.dll 5.1.2600.5512 C:\WINDOWS\system32
7e4b0000 hhctrl.ocx 5.2.3790.4110 C:\WINDOWS\system32
7e720000 SXS.DLL 5.1.2600.5512 C:\WINDOWS\system32

processes:
0000 Idle 0 0
0004 System 0 0 normal
0648 smss.exe 0 0 normal C:\WINDOWS\system32
06f0 avgchsvx.exe 0 0 normal C:\PROGRA~1\AVG\AVG10
07a4 csrss.exe 0 0
07d0 winlogon.exe 46 14 high C:\WINDOWS\system32
07fc services.exe 4 2 normal C:\WINDOWS\system32
00b0 lsass.exe 6 3 normal C:\WINDOWS\system32
0194 svchost.exe 4 1 normal C:\WINDOWS\system32
022c svchost.exe 0 0
0258 svchost.exe 11 42 normal C:\WINDOWS\System32
027c svchost.exe 4 1 normal C:\WINDOWS\system32
02b8 S24EvMon.exe 20 13 normal C:\Program Files\Intel\Wireless\Bin
0458 svchost.exe 0 0
049c svchost.exe 0 0
05f0 spoolsv.exe 7 7 normal C:\WINDOWS\system32
0634 AppleMobileDeviceService.exe 4 2 normal C:\Program Files\Common Files\Apple\Mobile Device Support
0664 avgwdsvc.exe 4 4 normal C:\Program Files\AVG\AVG10
0674 mDNSResponder.exe 4 2 normal C:\Program Files\Bonjour
0680 cisvc.exe 4 2 normal C:\WINDOWS\system32
06c0 cvpnd.exe 8 3 normal C:\Program Files\Global Payments\VPNClient
06e8 EvtEng.exe 4 11 normal C:\Program Files\Intel\Wireless\Bin
00f0 IntuitUpdateService.exe 4 2 normal C:\Program Files\Common Files\Intuit\Update Service
0370 ioloServiceManager.exe 23 25 normal C:\Program Files\iolo\Common\Lib
0570 mdm.exe 4 3 normal C:\Program Files\Common Files\Microsoft Shared\VS7DEBUG
04ec NICCONFIGSVC.exe 20 5 normal C:\Program Files\Dell\QuickSet
06d0 avgnsx.exe 4 2 normal C:\Program Files\AVG\AVG10
084c nvsvc32.exe 11 5 normal C:\WINDOWS\system32
0860 RegSrvc.exe 4 3 normal C:\Program Files\Intel\Wireless\Bin
08a0 svchost.exe 4 2 normal C:\WINDOWS\system32
08e8 tcsd_win32.exe 0 0
0900 TdmService.exe 18 12 normal C:\Program Files\Wave Systems Corp\Trusted Drive Manager
09b4 TosBtSrv.exe 4 4 normal C:\Program Files\Toshiba\Bluetooth Toshiba Stack
0ad4 dllhost.exe 4 4 normal C:\WINDOWS\system32
0b24 WLKeeper.exe 12 6 normal C:\Program Files\Intel\Wireless\Bin
0b8c SearchIndexer.exe 4 7 normal C:\WINDOWS\system32
0c38 ZuneBusEnum.exe 4 1 normal C:\WINDOWS\system32
0c84 nmsrvc.exe 6 11 normal C:\Program Files\Common Files\Pure Networks Shared\Platform
0db4 wmiprvse.exe 0 0
0e28 AVGIDSAgent.exe 4 7 normal C:\Program Files\AVG\AVG10\Identity Protection\Agent\Bin
0bfc Explorer.EXE 585 292 normal C:\WINDOWS
03e8 SynTPEnh.exe 42 22 above normal C:\Program Files\Synaptics\SynTP
0428 stsystra.exe 22 13 normal C:\Program Files\SigmaTel\C-Major Audio\WDM
0578 rundll32.exe 17 6 normal C:\WINDOWS\system32
0554 RUNDLL32.EXE 19 7 normal C:\WINDOWS\system32
03ec ZCfgSvc.exe 84 30 normal C:\Program Files\Intel\Wireless\bin
08c8 ifrmewrk.exe 114 62 normal C:\Program Files\Intel\Wireless\Bin
081c WavXDocMgr.exe 11 3 normal C:\Program Files\Wave Systems Corp\Services Manager\Docmgr\bin
0978 SecureUpgrade.exe 19 10 normal C:\Program Files\Wave Systems Corp
09cc nmctxth.exe 11 7 normal C:\Program Files\Common Files\Pure Networks Shared\Platform
0d20 GoogleQuickSearchBox.exe 167 79 normal C:\Program Files\Google\Quick Search Box
09e8 ZuneLauncher.exe 11 3 normal C:\Program Files\Zune
0a2c PDVDDXSrv.exe 23 16 normal C:\Program Files\CyberLink\PowerDVD DX
0a6c Hpi_Monitor.exe 16 11 normal C:\Program Files\Hewlett-Packard\PhotoSmart\Photo Imaging
0ab0 avgtray.exe 134 29 normal C:\Program Files\AVG\AVG10
0e6c AntiLogger.exe 289 156 normal C:\Program Files\AntiLogger
0348 iTunesHelper.exe 20 18 normal C:\Program Files\iTunes
0cf0 ClipMate.exe 305 158 normal C:\Program Files\ClipMate7
0dc4 ctfmon.exe 28 11 normal C:\WINDOWS\system32
0e64 GoogleToolbarNotifier.exe 14 18 normal C:\Program Files\Google\GoogleToolbarNotifier
0f1c ISUSPM.exe 11 6 normal C:\Program Files\Common Files\InstallShield\UpdateService
0ba4 J2GDllCmd.exe 18 5 normal C:\Program Files\eFax Messenger 4.4
07a0 TiVoTransfer.exe 8 7 normal C:\Program Files\TiVo\Desktop
06a0 TranscodingService.exe 8 5 idle C:\Program Files\TiVo\Desktop\Plus
0ee4 RoboTaskBarIcon.exe 97 40 normal C:\Program Files\Siber Systems\AI RoboForm
0ec0 TosBtMng.exe 52 21 normal C:\Program Files\Toshiba\Bluetooth Toshiba Stack
0fb0 DLG.exe 18 13 normal C:\Program Files\Digital Line Detect
0540 WhatsMyComputerDoing.exe 42 39 normal C:\Program Files\WhatsMyPCDoing
0e48 WindowsSearch.exe 169 72 normal C:\Program Files\Windows Desktop Search
015c Dot1XCfg.exe 12 17 normal C:\Program Files\Intel\Wireless\Bin
1008 PDESK.EXE 258 78 normal C:\Program Files\PowerDesk
1084 avgidsmonitor.exe 4 2 normal C:\Program Files\AVG\AVG10\Identity Protection\agent\bin
16b4 TosA2dp.exe 41 30 normal C:\Program Files\Toshiba\Bluetooth Toshiba Stack
1208 TosBtHid.exe 16 11 normal C:\Program Files\Toshiba\Bluetooth Toshiba Stack
1600 TosBtHsp.exe 38 25 normal C:\Program Files\Toshiba\Bluetooth Toshiba Stack
1534 dllhost.exe 4 3 normal C:\WINDOWS\system32
1254 wmiprvse.exe 0 0
17f8 iPodService.exe 4 5 normal C:\Program Files\iPod\bin
1690 alg.exe 0 0
17c0 wuauclt.exe 11 10 normal C:\WINDOWS\system32
11b8 avgrsx.exe 0 0 normal C:\PROGRA~1\AVG\AVG10
07a8 avgcsrvx.exe 0 0 normal C:\Program Files\AVG\AVG10
079c cidaemon.exe 13 3 idle C:\WINDOWS\system32
050c cidaemon.exe 4 1 idle C:\WINDOWS\system32
150c svchost.exe 4 1 normal C:\WINDOWS\System32
1f40 delphi32.exe 1101 896 normal C:\Program Files\Borland\Delphi7\Bin
18c4 hh.exe 145 59 normal C:\WINDOWS
0f50 Winfle120.exe 572 499 normal C:\dickdata\winflash\flash_120
1528 iexplore.exe 257 90 normal C:\Program Files\Internet Explorer
05e4 iexplore.exe 629 229 normal C:\Program Files\Internet Explorer
2048 SearchProtocolHost.exe 5 11 below normal C:\WINDOWS\system32
206c searchfilterhost.exe 0 0

hardware:
+ Apricorn Devices
- EZ GIG II Backup Archive Explorer (driver 3-13-2002)
+ Batteries
- Microsoft AC Adapter
- Microsoft ACPI-Compliant Control Method Battery
+ Bluetooth
- Bluetooth RFCOMM (driver 4.0.3402.0)
- Dell Wireless 360 Bluetooth Module (driver 5.0.2518.0)
+ Computer
- ACPI Multiprocessor PC
+ Disk drives
- TOSHIBA MK5056GSY
- WD 5000AAC External USB Device
+ Display adapters
- NVIDIA Quadro FX 1600M (driver 6.14.11.5619)
+ Dot4 HPZ12
- officejet 6100 (DOT4) (driver 7.9.9.1)
+ Dot4Print HPZ12
- officejet 6100 (DOT4PRT) (driver 7.9.9.1)
+ Dot4Usb HPZ12
- officejet 6100 (DOT4USB) (driver 7.9.9.1)
+ DVD/CD-ROM drives
- HL-DT-ST DVD+-RW GSA-T21N
+ IDE ATA/ATAPI controllers
- Intel(R) ICH8M 3 port Serial ATA Storage Controller - 2828 (driver 8.2.0.1011)
- Intel(R) ICH8M Ultra ATA Storage Controllers - 2850 (driver 8.2.0.1011)
- Primary IDE Channel
- Primary IDE Channel
- Ricoh Memory Stick Controller (driver 6.0.1.12)
- Ricoh SD/MMC Host Controller (driver 6.0.2.3)
- Ricoh xD-Picture Card Controller (driver 6.0.1.12)
+ IEEE 1394 Bus host controllers
- OHCI Compliant IEEE 1394 Host Controller
+ Imaging devices
- hp officejet 6100 series (driver 2.0.1.1)
+ Keyboards
- Standard 101/102-Key or Microsoft Natural PS/2 Keyboard
+ Mice and other pointing devices
- Dell Touchpad (driver 10.1.2.0)
+ Modems
- Conexant HDA D330 MDC V.92 Modem (driver 7.74.0.0)
+ Monitors
- Default Monitor
- Default Monitor
- Plug and Play Monitor
- Plug and Play Monitor
+ Network adapters
- 1394 Net Adapter
- Broadcom NetXtreme 57xx Gigabit Controller (driver 10.39.0.0)
- Cisco Systems VPN Adapter (driver 4.0.0.106)
- Intel(R) Wireless WiFi Link 4965AGN (driver 11.1.1.22)
+ Ports (COM & LPT)
- BT Port (COM10) (driver 5.0.1130.0)
- BT Port (COM11) (driver 5.0.1130.0)
- BT Port (COM12) (driver 5.0.1130.0)
- BT Port (COM13) (driver 5.0.1130.0)
- BT Port (COM14) (driver 5.0.1130.0)
- BT Port (COM20) (driver 5.0.1130.0)
- BT Port (COM21) (driver 5.0.1130.0)
- BT Port (COM22) (driver 5.0.1130.0)
- BT Port (COM6) (driver 5.0.1130.0)
- BT Port (COM7) (driver 5.0.1130.0)
- Communications Port (COM1)
- ECP Printer Port (LPT1)
+ Printers
- hp officejet 6100 series (driver 2.0.0.134)
+ Processors
- Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
- Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
+ Secure Digital host controllers
- SDA Standard Compliant SD Host Controller
+ Smart card readers
- O2Micro OZ776 USB CCID Smartcard Reader (driver 1.1.4.2)
+ Sound, video and game controllers
- Audio Codecs
- Legacy Audio Drivers
- Legacy Video Capture Devices
- Media Control Devices
- SigmaTel High Definition Audio CODEC (driver 5.10.0.5515)
- Video Codecs
+ Storage volumes
-
-
+ System devices
- ACPI Lid
- ACPI Power Button
- ACPI Sleep Button
- ACPI Thermal Zone
- Direct memory access controller
- Docking Station
- Docking Station
- High Precision Event Timer (driver 7.0.0.1011)
- Intel(R) 82801 PCI Bridge - 2448 (driver 7.0.0.1011)
- Intel(R) ICH8 Family PCI Express Root Port 1 - 283F (driver 8.3.0.1013)
- Intel(R) ICH8 Family PCI Express Root Port 2 - 2841 (driver 8.3.0.1013)
- Intel(R) ICH8 Family PCI Express Root Port 4 - 2845 (driver 8.3.0.1013)
- Intel(R) ICH8 Family PCI Express Root Port 6 - 2849 (driver 8.3.0.1013)
- Intel(R) ICH8 Family SMBus Controller - 283E (driver 8.0.0.1008)
- Intel(R) ICH8M-E LPC Interface Controller - 2811 (driver 8.3.0.1013)
- ISAPNP Read Data Port
- Logical Disk Manager
- Microcode Update Device
- Microsoft ACPI-Compliant System
- Microsoft Composite Battery
- Microsoft System Management BIOS Driver
- Microsoft UAA Bus Driver for High Definition Audio
- Microsoft Windows Management Interface for ACPI
- Mobile Intel(R) PM965/GM965/GL960 Express PCI Express Root Port - 2A01 (driver 8.2.0.1002)
- Mobile Intel(R) PM965/GM965/GL960 Express Processor to DRAM Controller - 2A00 (driver 8.2.0.1002)
- Numeric data processor
- PCI bus
- Pinnacle Marvin Bus (driver 1.0.2.16)
- Plug and Play Software Device Enumerator
- Printer Port Logical Interface
- Programmable interrupt controller
- System board
- System board
- System board
- System board
- System board
- System CMOS/real time clock
- System speaker
- System timer
- Terminal Server Device Redirector
- Terminal Server Keyboard Driver
- Terminal Server Mouse Driver
- Volume Manager
- Zune Bus Enumerator
- Zune Bus Root Bus Enumerator
+ Universal Serial Bus controllers
- Generic USB Hub
- Generic USB Hub
- Intel(R) ICH8 Family USB Universal Host Controller - 2830 (driver 8.0.0.1008)
- Intel(R) ICH8 Family USB Universal Host Controller - 2831 (driver 8.0.0.1008)
- Intel(R) ICH8 Family USB Universal Host Controller - 2832 (driver 8.0.0.1008)
- Intel(R) ICH8 Family USB Universal Host Controller - 2834 (driver 8.0.0.1008)
- Intel(R) ICH8 Family USB Universal Host Controller - 2835 (driver 8.0.0.1008)
- Intel(R) ICH8 Family USB2 Enhanced Host Controller - 2836 (driver 8.0.0.1008)
- Intel(R) ICH8 Family USB2 Enhanced Host Controller - 283A (driver 8.0.0.1008)
- USB Composite Device
- USB Mass Storage Device
- USB Printing Support
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
- USB Root Hub
+ WaveFDE
- Wave System Power Monitor (driver 6.0.5736.1)
+ {3B9F35AB-2717-4793-88A8-CE62216E41D0}
- officejet 6100 (DOT4PRINT) (driver 2.0.0.134)

cpu registers:
eax = 00000000
ebx = 0ba38e1c
ecx = 00000002
edx = 7f6f0824
esi = 00000000
edi = 01aaf328
eip = 0054d302
esp = 01aaf25c
ebp = 01aaf298

stack dump:
01aaf25c 68 f2 aa 01 a0 52 40 00 - 98 f2 aa 01 a4 f2 aa 01 h....R@.........
01aaf26c a0 52 40 00 98 f2 aa 01 - 02 00 00 00 02 00 00 00 .R@.............
01aaf27c 02 00 00 00 00 00 00 00 - 00 00 00 00 00 04 00 00 ................
01aaf28c 03 00 00 01 bd f2 aa 01 - be f2 aa 01 d0 f2 aa 01 ................
01aaf29c 46 d4 54 00 2c f3 aa 01 - dc f2 aa 01 a0 52 40 00 F.T.,........R@.
01aaf2ac d0 f2 aa 01 e0 f3 aa 01 - f0 36 b1 0b 02 00 00 00 .........6......
01aaf2bc 27 01 01 01 94 30 b1 0b - 80 30 b1 0b 00 00 00 00 '....0...0......
01aaf2cc 23 a9 59 01 2c f3 aa 01 - 48 e1 54 00 2c f3 aa 01 #.Y.,...H.T.,...
01aaf2dc 58 f3 aa 01 a0 52 40 00 - 2c f3 aa 01 e4 f3 aa 01 X....R@.,.......
01aaf2ec 24 37 b1 0b 68 f4 aa 01 - 00 00 00 00 10 00 00 00 $7..h...........
01aaf2fc 24 37 b1 0b 0c 84 77 0b - 00 00 00 00 8f aa 00 00 $7....w.........
01aaf30c 28 f3 aa 01 00 00 00 00 - 42 15 01 00 28 00 00 00 (.......B...(...
01aaf31c 00 00 00 01 c0 04 d2 0a - 08 f5 aa 01 f8 11 78 0b ..............x.
01aaf32c 90 f3 aa 01 04 f2 54 00 - 80 21 c9 0b ae f4 aa 01 ......T..!......
01aaf33c e0 f3 aa 01 00 e5 98 0b - 00 e5 98 0b 60 e5 98 0b ............`...
01aaf34c 00 00 00 00 3a 00 00 00 - 04 00 00 00 30 f4 aa 01 ....:.......0...
01aaf35c a0 52 40 00 90 f3 aa 01 - 68 f4 aa 01 60 3c 57 00 .R@.....h...`<W.
01aaf36c 01 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................
01aaf37c 00 00 00 00 00 00 00 00 - 01 00 00 00 68 f4 01 01 ............h...
01aaf38c 4c 8e a3 0b 10 f4 aa 01 - 8d 05 55 00 10 f4 aa 01 L.........U.....

disassembling:
[...]
0054d2ef push esi
0054d2f0 mov eax, [ebp-$14]
0054d2f3 push eax
0054d2f4 push 2
0054d2f6 mov eax, [ebp-$10]
0054d2f9 push eax
0054d2fa call -$144937 ($4089c8) ; Windows.GetStringTypeExA
0054d2fa
0054d2ff loc_54d2ff:
0054d2ff 971 mov eax, [ebp-$18]
0054d302 > mov ax, [eax]
0054d305 dec ax
0054d308 jz loc_54d311
0054d308
0054d30a dec ax
0054d30d jz loc_54d319
0054d30d
0054d30f jmp loc_54d31f
0054d30f
0054d30f ; ---------------------------------------------------------
0054d30f
[...]

Posted: Fri Feb 04, 2011 3:42 pm
by Sergey Tkachenko
The error may occur when you assign 1 to:
- StyleNo of non-text item (they must not be changed)
- StyleNo of text item having different value of FMain.RichViewEdit1.Style.TextStyles[StyleNo].Unicode

Do you want to make this operation undoable by users (with Ctrl+Z)

Posted: Fri Feb 04, 2011 4:33 pm
by DickBryant
It's not necessary to make the change undo-able.

Could you give a short code example on how to avoid these:

>> The error may occur when you assign 1 to:
- StyleNo of non-text item (they must not be changed)
- StyleNo of text item having different value of FMain.RichViewEdit1.Style.TextStyles[StyleNo].Unicode <<

If you could do it in the context of:

for i := 0 to MasterRVTable.RowCount - 1 do
begin
for j := 0 to MasterRVTable.Cells[i,1].ItemCount - 1 do
begin
if MasterRVTable.Cells[i,1].GetItemStyle(j) <> 1 then
MasterRVTable.Cells[i,1].GetItem(j).StyleNo := 1;
end;
end;

That would be great! :-)

Posted: Fri Feb 04, 2011 8:09 pm
by DickBryant
I've figured out how to AVOID changing the style if it will cause a problem by:

//Check Unicode status of Question Default Font
IsUnicode := FMain.RVStyleQ.TextStyles[1].Unicode;
for i := 0 to MasterRVTable.RowCount - 1 do
begin
for j := 0 to MasterRVTable.Cells[i,1].ItemCount - 1 do
begin
CurrentItemStyle := MasterRVTable.Cells[i,1].GetItemStyle(j);
if ((CurrentItemStyle > -1) and (CurrentItemStyle <> 1)) then
begin
if FMain.RVStyleQ.TextStyles[CurrentItemStyle].Unicode = IsUnicode then
MasterRVTable.Cells[i,1].GetItem(j).StyleNo := 1;
end;
end;
end;

But this leaves text where the desired style (1) is does not match the "unicodeness" of the current item style unchanged. Is there a way to 'convert' the current text item to an item having Style 1?

Dick