Problem with ^ and ¨ in Find/Select in PanX


I have a very large DB that includes lots of words with accents in several languages, including â and ï for example.

The import from Pan6 to PanX went OK, and I can enter new records without problem. By the way I confirm that the problem with the comma as decimal separator i mentioned previously has not been seen anymore even trying various system localizations, thus it was certainly an error during the original translation process, I should have tried twice…

The only small difficulty with this large DB is that the DB window being quite wide (across), the system has reduced the font (to fit the screen I suppose) and it becomes quite difficult to read, thus the possibility of choosing (at least) the size of the font for the display is important (I know this has been discussed previously).

However if a do a Find/Select and try to insert one of these letters with caret or umlaut, there is an instant “Internal Error”, see screen shot below. If I copy the incriminating letter or the word with that incriminating letter from somewhere else and paste it into the Find/Select window, then the find/select process works OK. Thus the problem seems to be that these letters need two key strokes (at least on my keyboard) to be formed (there is no problem of this sort with Pan6).

In addition, with this large DB, I am really missing the Find & Replace function that does not seem implemented in PanX.




It is in the menu Edit > Find > Find and Replace …


… but it does not seem to work.


Exactly, it is not implemented.



At least there is a workaround implemented: You can replace a word in all fields with the Field > Morph > Morph All Fields … command.


Well, trying that workaround I got a crash with this log:

Exception Name: NSInvalidArgumentException
Description: *** -[DBTextView replaceCharactersInRange:withString:]: nil NSString given.
User Info: (null)

0 CoreFoundation 0x00007fff90dc77bb __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffa5534a2a objc_exception_throw + 48
2 CoreFoundation 0x00007fff90e44a65 +[NSException raise:format:] + 197
3 AppKit 0x00007fff8eb741e2 -[NSTextView replaceCharactersInRange:withString:] + 211
4 PanoramaX 0x000000010e8fb5b9 PanoramaX + 1443257
5 PanoramaX 0x000000010e8f43b4 PanoramaX + 1414068
6 PanoramaX 0x000000010e8a80f8 PanoramaX + 1102072
7 PanoramaX 0x000000010e8f4711 PanoramaX + 1414929
8 PanoramaX 0x000000010e89bb95 PanoramaX + 1051541
9 PanoramaX 0x000000010e8a436b PanoramaX + 1086315
10 CoreFoundation 0x00007fff90d45072 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 114
11 CoreFoundation 0x00007fff90d44f2f -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 239
12 PanoramaX 0x000000010e8a433f PanoramaX + 1086271
13 CoreFoundation 0x00007fff90d45072 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 114
14 CoreFoundation 0x00007fff90d44f02 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 194
15 PanoramaX 0x000000010e891f3e PanoramaX + 1011518
16 PanoramaX 0x000000010e89bb5b PanoramaX + 1051483
17 PanoramaX 0x000000010e88dacc PanoramaX + 993996
18 CoreFoundation 0x00007fff90d45072 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 114
19 CoreFoundation 0x00007fff90d44f02 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 194
20 PanoramaX 0x000000010e85279a PanoramaX + 751514
21 PanoramaX 0x000000010e8538e3 PanoramaX + 755939
22 PanoramaX 0x000000010e815fad PanoramaX + 503725
23 PanoramaX 0x000000010e81750c PanoramaX + 509196
24 PanoramaX 0x000000010e8171cd PanoramaX + 508365
25 Foundation 0x00007fff927c5c88 __NSFireDelayedPerform + 417
26 CoreFoundation 0x00007fff90d47f44 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 20
27 CoreFoundation 0x00007fff90d47bd3 __CFRunLoopDoTimer + 1075
28 CoreFoundation 0x00007fff90d4772a __CFRunLoopDoTimers + 298
29 CoreFoundation 0x00007fff90d3f2f1 __CFRunLoopRun + 2081
30 CoreFoundation 0x00007fff90d3e874 CFRunLoopRunSpecific + 420
31 HIToolbox 0x00007fff902def6c RunCurrentEventLoopInMode + 240
32 HIToolbox 0x00007fff902deca9 ReceiveNextEventCommon + 184
33 HIToolbox 0x00007fff902debd6 _BlockUntilNextEventMatchingListInModeWithFilter + 71
34 AppKit 0x00007fff8e9d55f5 _DPSNextEvent + 1093
35 AppKit 0x00007fff8f0e58eb -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1637
36 AppKit 0x00007fff8e9c9fbd -[NSApplication run] + 926
37 AppKit 0x00007fff8e994a8a NSApplicationMain + 1237
38 libdyld.dylib 0x00007fffa5e10255 start + 1
39 ??? 0x0000000000000001 0x0 + 1


How do you define a ‘large’ database?

Panorama would not be reducing the font size to accommodate a large number of fields.

Robert Ameeti


The one I am talking about is 25000 records, but the numbers of words with a caret for example is roughly 50 times larger, that is more than 1 million. Thus I really need that the Find/Select window accept these kind of words. I am presently using this workaround I mentioned of writing the word in a separate cell then copy this cell to the Find/Select window.

Now for the size of the font, I think you are correct, it is the same size as in other imported DB in PanX. I think this is an optical effect because this one is only text in all fields thus it seems more difficult to read. Certainly more difficult that the same DB in Pan6 where I am using Courier New Bold 12pt.



If the text in the field is wider than the available space Panorama will try to horizontally compress the text to fit. The font height isn’t reduced, but the inter character spacing is reduced. You’ll see other apps, including the Finder, do the same thing, in fact, it is actually Apple’s code that does this. This screenshot shows this effect, which as you can see is fairly subtle.

I was not able to duplicate this – I had no problem inserting accented characters into the Find/Select dialog. Perhaps there is more than one way to insert these characters?

There is a bug report about entering accented characters via a “press and hold” method. Is that what you are doing?


You can see this in action yourself in the datasheet if you start resizing a field narrower. As you approach a line of text’s ending, the line will start compressing until it finally jumps back to the original size and is truncated. The same thing happens in a Text List Object if you reduce the size of the column. The only difference is that with a Text List Object if you hover your cursor over a truncated line it will eventually popup with the full line content atop the row extending it past the object so it show the entire contentl. This wouldn’t be a bad feature for the datasheet as well.

Umm. maybe not. It might be annoying to have this popup and cover other fields in the record. If anything it might be triggered intentionally only if a modifier key was hel down while hovering. Maybe leave things as they are.:blush: