View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000778 | SkyChart | 1-Software | public | 11-01-11 14:05 | 15-12-11 17:21 |
Reporter | Chris Rowland | Assigned To | Patrick Chevalley | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | PC | OS | Windows 7 64 bits | ||
Product Version | 3.2 | ||||
Target Version | 4.0 | Fixed in Version | 3.11 SVN | ||
Summary | 0000778: Fix ASCOM interface with 64 bit Windows | ||||
Description | The current implementation won't connect directly to ASCOM telescope drivers because the ASCOM library that's used doesn't support 64 bits. There is a new library in ASCOM platform 5.5 that does allow this, this is what's needed to change this: The procedure Tpop_scope.SpeedButton3Click in pu_ascomclient.pas should call CreateObject('Utilities.Chooser') instead of 'DriverHelper.Chooser'. The Utilities Object is 64 bit compatible so this should work. I've put a suggestion for a procedure to do this in the Additional Information; if Utilities.Chooser fails it tries DriverHelper.Chooser and if that also fails it reports an error with appropriate messages. I'm sorry but I can't try it because I don't have Delphi. | ||||
Additional Information | procedure Tpop_scope.SpeedButton3Click(Sender: TObject); var V: variant; begin {$ifdef mswindows} try initialized:=false; { try to create Utilities.Chooser, this will work with 64 bits Windows but is only available in ASCOM 5.5 or better. If it doesn't work revert to DriverHelper.Chooser } try v := CreateObject('Utilities.Chooser'); except V := CreateOleObject('DriverHelper.Chooser'); { hope that an exception in the except section will bubble up and be caught in the next layer } end; V.devicetype:='Telescope'; edit1.text:=V.Choose(edit1.text); V:=Unassigned; SaveConfig; UpdTrackingButton; except {$ifdef win64} Showmessage('The ASCOM telescope chooser requires ASCOM platform 5.5 or better for a 64 bits application.' +crlf+'ASCOM Platform 5.5 can be downloaded from'+crlf+'http://ascom-standards.org'); {$else} Showmessage('Please ensure that ASCOM telescope drivers are installed properly.'+crlf+'See http://ascom-standards.org for more information.'); {$endif} end; {$endif} end; | ||||
Tags | No tags attached. | ||||
has duplicate | 0000953 | closed | Problems with ASCOM interface | |
child of | 0000858 | resolved | Patrick Chevalley | Problems that prevent the release of a stable Win64 build |
|
Thank you Chris, I try that. |
|
Patrick, I've had a bit more of a look and it may be worth waiting a bit. Drivers that are built as 32 bit dlls will not run with 64 bit applications because their bit mode is different. Drivers that are built as exes are fine because they run in their own process. This isn't a problem that ASCOM can solve, but in Platform 6 we plan to mark 32 bit only drivers so they can be identified in the Chooser. Users running 64 bit applications will only be able to select drivers that will run with the 64 bit application but will see them all. I'm not sure when Platform 6 will emerge, it's in Alpha at the moment,so you may want to wait until we are a bit closer to release. It would be possible to add functionality to check the version of the ASCOM platform and call the chooser directly if it's platform 6, I can help with that if you want to do that. Chris |
|
I install Platform 6 on my Win64 testing VM. ASCOM.Utilities.Chooser work much better and it is now possible to select a driver. But it crash if I click the Properties button from the chooser or if I call Choose with a non empty parameter. This is very strange as calling the driver SetupDialog from Skychart work. And the whole process work fine if launched from the ASCOM Diagnostics. I activate the ASCOM traces but I not see anything relevant. Anyway I upload a zip with the trace files. |
|
|
|
This is fixed by using Free Pascal compiler current trunk FPC 2.7.1 Now ASCOM 6 work fine on Win64. I wait the release of the stable version FPC 2.8 before to close the problem. |
|
With the release of the stable version 3.0 of Free Pascal that include the fix it will be possible to make the win64 build again. I try a first win64 beta next Monday. |
Date Modified | Username | Field | Change |
---|---|---|---|
11-01-11 14:05 | Chris Rowland | New Issue | |
11-01-11 18:14 | Patrick Chevalley | Note Added: 0001515 | |
11-01-11 18:14 | Patrick Chevalley | Assigned To | => Patrick Chevalley |
11-01-11 18:14 | Patrick Chevalley | Status | new => assigned |
11-01-11 18:14 | Patrick Chevalley | Target Version | 0.3.0 => 3.4 |
11-01-15 14:51 | Chris Rowland | Note Added: 0001517 | |
11-06-13 19:39 | Patrick Chevalley | Target Version | 3.4 => 3.6 |
11-07-29 08:31 | Patrick Chevalley | Relationship added | child of 0000858 |
11-07-29 08:38 | Patrick Chevalley | Target Version | 3.6 => 5.0 |
11-08-11 09:24 | Patrick Chevalley | Note Added: 0001691 | |
11-08-11 09:27 | Patrick Chevalley | File Added: Logs-2011-08-11.zip | |
12-02-26 16:31 | Patrick Chevalley | Relationship added | has duplicate 0000953 |
12-02-26 16:31 | Patrick Chevalley | Relationship deleted | has duplicate 0000953 |
12-02-26 16:32 | Patrick Chevalley | Relationship added | has duplicate 0000953 |
13-07-09 15:36 | Patrick Chevalley | Note Added: 0002543 | |
15-12-11 17:21 | Patrick Chevalley | Note Added: 0003113 | |
15-12-11 17:21 | Patrick Chevalley | Status | assigned => resolved |
15-12-11 17:21 | Patrick Chevalley | Resolution | open => fixed |
15-12-11 17:21 | Patrick Chevalley | Fixed in Version | 0.3.0 => 3.11 SVN |
15-12-11 17:21 | Patrick Chevalley | Target Version | 5.0 => 4.0 |