www.majority.nl   Questions? Feedback?    E-mail in Dutch, English or German (preferred order) to m.majoor@majority.nl

Navigation

Home
Various
DCC600 Service mode

Projects
  Miscellaneous
  Remote control
  DVB
  BenchScope

TV
  Main
  Miscellaneous
  Chassis list
  28PW9525 Remote control
  Pioneer KRL-32V service mode

TV Service mode
  Matchline (generic)
  Remote control codes
  MG7.1E Customer Service Mode
  MG7.1E Service Alignment Mode
  MG7.1E Service Default Mode

TV Service mode tables
  A10
  EM
  EM1
  EM2
  FJ3.0
  GFL
  L01
  MG2
  MG3
  MG7


Revision history
   
2007-02-16 Added notes on CHKNTFS utility
2006-09-25 Added Delphi sample on dockable panel which can be undocked at a user defined position.
2005-12-29 Added problem with Canon CanoScan LiDE 50 scanner.
2003-09-05 Added problem with Delphi 5 <> 7 code.
2003-08-01 Added problem and remedy for Norton Ghost 2003 and XP.
   
You do not want XP to check the disk when a unexpected reboot occurs

When XP boots it checks the dirty flag of the drives.
If XP was not closed in a 'friendly' matter (e.g. BSOD, reset of the PC or some other thing that rebooted XP unexpectedly), then the drives are not marked 'clean' (thus they are 'dirty'). When XP is started, by default it will run CHKDSK if it detects a dirty flag on a drive. This behaviour can be changed using the CHKNTFS utiltiy. In particular, using the '/X' option you can exclude drives to be checked. For instance, use 'CHKNTFS /x c: d: e:' to exclude drives c:, d: and e: from the check on the dirty flag. The CHKNTFS utitlity is to be run from a command prompt, so use 'Start/Run, Open: cmd'. You can use 'CHKNTFS /?' to get some help on the possible options.

Problem with Delphi 7 code in Delpi 5 (editor show incorrect lines for errors)

If you ever create code in Delphi 7 and then try to compile it under Delphi 5, then you might get strange results from the compiler/editor. It points to the incorrect position in the file were an error is detected. This is due to the fact that Delphi 7 only uses a new line ($0A) character, whereas Delphi 5 uses a carriage return and new line ($0D $0A) for each line. Changing the single $0A occurences into $0D $0A occurences will fix the problem.

Driver updating problems Windows

Ever had the problem of updating a driver and it keeps insisting of using the old driver? Did you update a driver and it reports everything is oke but it does not work? Did you install/update a software modem (WinModem), like a Rockwell/Conexant HCF modem, and the driver installed correctly but when checking communication the (COM) port could not be opened? Most of these problems are caused by Windows using INF files of (previous) installed driver(s). The INF files for a new driver are typically placed into the '..\WINDOWS\INF\OTHER' subdirectory (Windows 98). The name of the INF file is the original INF file from the driver preceeded by the manufacturer name. Sometimes all that is required to install/update a new driver correctly is to remove the old INF file from the '....\OTHER' subdirectory. However, sometimes some INF files (and other files) are also placed in the '..\WINDOWS\INF', so just removing the file in the '...\OTHER' subdirectory is just not enough. Therefore the solution is to (temporary) make the '..\WINDOWS\INF' directory unavailable to Windows. The easiest way is to rename the subdirectory. After installing the updated driver, which WILL use the driver supplied INF files, you should merge the old and new ''..\WINDOWS\INF' subdirectories.

Norton Ghost 2003 and XP

With some ATA-controllers it is possible that, after using Ghost 2003 (DOS), that XP is made inoperable. This happens for instance when you own an ASUS P4G8X DeLuxe motherboard.

Hardware concerned (most likely):
Motherboards/controllers with a serial ATA controller, eg. Silicon Image Sil3112 S-ATA Raid controller.

Symptom:
When Norton Ghost 2003 (DOS) is used to create (or restore) an image and XP is restarted, it will crash after a few seconds. It will show the BSOD ('blue screen of death') with the message that a driver generated a fatal error (Irq less or equal). The driver for instance being SI3112R.SYS

Remedy:
Make sure that you power OFF the PC after using Norton Ghost 2003 (DOS) for creating or restoring an image. Do NOT restart the PC without shutting it down first!

Problem with Canon CanoScan LiDE 50 scanner

This relates to Windows XP but might also be applicable to other operating systems. The problem is that a TWAIN error is being reported, whereas the device operated correctly before. Re-installing the driver (with using the remove utility of Canon before this), still gives the same problems. The problem, probably, is that the environment path of were the Twain files can be found has been removed. This can happen when an application or installer changes the environment path. This path then either gets corrupted, or it becomes too long. The solution to this problem is adding the Twain drivers path to the environment path.
This goes as follows: CONTROL PANEL - SYSTEM - ADVANCED - ENVIRONMENT VARIABLES - Under System variables edit the 'Path' setting.
Include the path to the Twain directory, for instance: C:\WINDOWS\TWAIN_32\CNQL50.
After this all worked fine for me (although restarting the system might be needed).

Delphi (BDS/2006): Create an undocked panel at runtime without a close icon and which can be positioned anywere

The following code is a sample on how you can create a dockable panel. The panel itself is created at runtime, and it is being undocked at a user defined position. Typically one would use 'FDockPanel.ManualFloat()' to have it undocked. However, the left/top position passed on with ManualFloat is not used. Using 'ManualDock' and 'HostDockSite.Left'/'HostDockSite.Top' makes it possible to position the undocked panel. Using our own 'TDockForm' class for the 'FloatingDockSiteClass' allows us to disable the close button typicaly present in an undocked control.
type
  TFrmMain = class(TForm)
    ......
  private
    { Private declarations }
    FDockablePanel: TPanel;
  end;

  TDockForm = class(TCustomDockForm)
    constructor Create(AOwner: TComponent); override;
    procedure   DoClose(var Action: TCloseAction); override;
  end;

.........

constructor TDockForm.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  BorderIcons := [];          // This disables the 'close' button
end;

procedure TDockForm.DoClose(var Action: TCloseAction);
begin
  Action := caNone;
end;

procedure TFrmMain.FormCreate(Sender: TObject);
begin
  // Note: Freed by parent
  FDockablePanel:= TPanel.Create(Self);
  // Yes, 'with FDockablePanel do' also works ...
  FDockablePanel.Parent := Self;
  FDockablePanel.Height := 640;                         // Note: setting Top/Left has no use since these will be changed by the docking
  FDockablePanel.Width := 400;
  FDockablePanel.DragKind := dkDock;                    // Make it a dockable panel ...
  FDockablePanel.DragMode := dmAutomatic;
  FDockablePanel.FloatingDockSiteClass := TDockForm;    // Use our own docksite class, which in our case disables the 'close' button
  // Create the (undocked) dock site
  FDockablePanel.ManualDock(NullDockSite, nil, alLeft); // Can also use 'nil' instead of 'NullDockSite', alignment is don't care here
  // Modify the dock site position
  FDockablePanel.HostDockSite.Left := Self.Left + 500;  // Offset from our main window
  FDockablePanel.HostDockSite.Top := Self.Top + 100;    // Offset from our main window
  ......
end;

www.majority.nl   Questions? Feedback?    E-mail in Dutch, English or German (preferred order) to m.majoor@majority.nl