Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Doug Clark

Pages: 1 [2] 3 4
16
Programming / WPS dragged object handle
« on: September 29, 2023, 12:18:52 am »
When you drag a WPS object (or anything actually) a _DRAGITEM is created to store data about the item being dragged, the structure of DRAGITEM shown below
-------------------------------
typedef struct _DRAGITEM {
  HWND       hwndItem;           /*  Window handle of the source of the drag operation. */
  ULONG      ulItemID;           /*  Information used by the source to identify the object being dragged. */
  HSTR       hstrType;           /*  String handle of the object type. */
  HSTR       hstrRMF;            /*  String handle of the rendering mechanism and format. */
  HSTR       hstrContainerName;  /*  String handle of the name of the container holding the source object. */
  HSTR       hstrSourceName;     /*  String handle of the name of the source object. */
  HSTR       hstrTargetName;     /*  String handle of the suggested name of the object at the target. */
  SHORT      cxOffset;           /*  X-offset from the pointer hot spot to the origin of the image that represents this object. */
  SHORT      cyOffset;           /*  Y-offset from the pointer hot spot to the origin of the image that represents this object. */
  USHORT     fsControl;          /*  Source-object control flags. */
  USHORT     fsSupportedOps;     /*  Direct manipulation operations supported by the source object. */
} DRAGITEM;
--------------------------------

I am trying to identify the object that is being dragged over my window - either the class of the object or the specific object itself.  Is there someway of translating the hwndItem  or ulItemID  value into a WPS object handle?  I am hoping to avoid searching the source container for the source name in order to find the object being dragged.

There is a value in ulItemID, put there either by the WPS or xWorkplaceShell when a WPProgram type object is being dragged.  Anyone know what that value is?

I only want to accept dragged WPObjects of a certain type being dropped, and disallow everything else.

Thanks in advance

17
Setup & Installation / USB to Serial adapter setup
« on: July 18, 2023, 10:46:22 pm »
I have a serial device that I have working when connected to a real serial port.

I would now like to get it working through a USB to Serial adapter.  The one that I am using is a Belkin fsu116 hub thingy - which plugs into usb and provides 2 serial, 1 parallel and 2 usb ports.  It is shown as working with os/2 in the wiki.

Do I need to add something to my CONFIG.SYS to get the ports working?  Can I assign a comm port number to a specific port on the belkin?

Is there documentation somewhere that describes how you setup usb-serial adapters?

Thanks

18
Applications / VLC3018 IDN11.DLL
« on: January 04, 2023, 05:53:08 pm »
I am trying to run the new vlc v 3.0.18 and it is complaining about a missing file IDN11

Anyone know where that file is located, or which package  it is part of?

Another interesting thing:  If I search IDN11.DLL OS2WORD  from google front page I get nothing.

If I enter IDN11.DLL in the search on the front page of OS2WORLD is comes back with nothing. (I am guessing it just passes searches off to google.)

If I enter IDN11.DLL in the search for the forums page I get a hit - a topic about PDF issues.

Lastly: shout out to KO Myung-Hun for his port of VLC.   It is a VERY nice player.  Thanks KO

19
Off Topic discussions / Dacal CD Library
« on: February 25, 2022, 09:43:55 pm »
Dacal made a machine for storing CD/DVDs which was marketed under the names of Dacal CD Library, CAF Tek Digital Disc Organizer, and ZIO TEK, among others.  The machines store 150 disks on a rotating carousel and have a number pad on front for keying in the slot holding a disk as well a USB port for interfacing to a cataloging software application.

The machines use one or two rubber belts: one for rotating the carousel and the other for ejecting the disk - later machines use a set of gears
instead of a belt for the ejecting machanism.  The link below is a video of one of the machines in action.

https://www.youtube.com/watch?v=8UkC_G_vrAg

The weakness in the machines are the belts - they stretch and/or become hard.  When that happens the carousel will not rotate or the disk will not eject and the machine will display the message SOS above the keypad.

The solution is to install a new belt.  However Dacal no longer makes the machines and I have not been able to find a part number or specifications for the belt.  So I contacted a local rubber company and had them manufacture some new belts for me.  I have attached a drawing of the belt so that anyone else seeking replacement belts can either contact Denver Rubber Company or take the drawing to their local rubber company and have some made.

I have also attached some pics of the machine disassembled.  To remove the top cover you have to remove 6 screws from the bottom of the machine (three in front and three in the back) one screw on each side towards the front.  Lift up the top cover from the back, and carefully snap the front of the top cover off of the front panel.


To remove the carousel you have to remove three screws from the cover in the center of the carousel and then lift off the cover.  You CAN lift off the center cover while the carousel is loaded if you are careful.  The carousel then just lifts off - the belts are under the carousel.

20
Applications / xWorplace - xCenter issue(s)
« on: October 06, 2021, 07:00:44 pm »
New installation of AOS 5.0.6

Installed xWorkPlace 1.0.13 which I got from Netlabs. The Add Widget option on the xCenter popup menu is missing.  Which I was using to add the Removable Media Widget.

So a couple of questions:

1) Where are the removable widget files on the AOS installation media located and/or how do you install? 

 I asked this question on a different topic previously and the suggestion (thank you Andreas Schnellbacher) was to take RemMedia.dll, etc. from another AOS machine.  Which I did at that time, but I don't remember how they originally got on the source machine.  (For this installation I copied them from the other machine to c:\sys\apps\xwps\plugins\xcenter and used the xCenter Create Widget option - then tried to use the Add Widget menu option)

2)  The Netlabs page for xWorplace says "Rich [Walsh] compiles special versions for ArcaOS and the current official version"   Are those "special versions" just  eWorkplace, or is there an AOS specific version of xWorkplace?

Thanks


21
Networking / Universal Naming Convention (UNC) on Samba?
« on: June 19, 2021, 05:51:01 am »
Does universal naming convention (UNC) work on Samba for OS/2?  Or is it limited to Netbios (file/print services) on OS/2?

22
Setup & Installation / Win-OS/2 installed on non-boot drive
« on: May 29, 2021, 05:40:52 pm »
If I remember correctly you can install Win-OS/2 on a drive other than the boot drive.   I also seem to remember that when you do this some environment variable is set to indicate which drive holds the Win-OS/2 system.

So my questions are:

1) does this environment variable, or some other means, exist to determine which drive Win-OS/2 is installed on?

2) What is the directory structure when installed on a different drive?   (Normally it is C:\OS2\MDOS\WINOS2)

23
Has anyone successfully used the EPM Etoolkit  to create an EPM based MLE in a VisualAge C++ v 3.0 IOC application?

Sample 2 from the etoolkit shows an E-MLE inside of an EFrame inside of an application window.  The E-MLE is the actual editor guts; the EFrame adds scroll bars, message line, title bar etc.  I lightly modified sample 2 from the etoolkit SDK, compiled with VAC 3.0 and it works - attached as epm_sample2.zip

But when I convert that into a "custom control" as a C++ class, to integrate with the user interface part of the IOC library, part of the E-MLE stops working.  It appears to be the part that sends messages, or receives messages related to editor commands.  What I THINK is happening is the dispatcher that the IOC uses to intercept and route window messages is somehow not sending the messages to the E-MLE window procedure.  Or rather some of the messages, because other messages clearly are getting through.

So has anyone converted a customized PM window/control into a IOC user interface object that can be inserted into various other IOC UI objects?

epm_sample2.zip is the lightly modified Sample 2 from the eToolkit sdk.   
testmain.zip contains my class EpmMle (descended from IControl) which is my attempt to integrate an EFrame/E-MLE into a custom control that can be used in IOC.  Run testmain.exe from testmain.zip and try issuing a command from the menu;  Command - Command Dlg and then type some EPM command, such as SAYERROR 'Hello'   You will need the VAC 3.0 runtime libraries to run testmain.exe






24
Applications / SAMBA Network access denied
« on: September 30, 2020, 11:21:30 pm »
I am trying to set up samba 3.3.16 and when attempting to execute Samba Users and Groups I get the message

Sys0065: Network access is denied.

For some reason I also have KLIBC User Management - I think it was for the Drop Box plugin
Any thoughts on how to fix this.

25
Programming / Aligning on 64k boundary
« on: September 14, 2020, 05:34:10 pm »
The Control Program reference says in the Remarks for DosWrite()

"When writing message pipes the application is limited to 64K messages. As well, these messages cannot span 64k boundaries due to the current design of the thunk layer in read or write routines. If the message is not written in an aligned manner, the subsequent read will not be able to handle the messages properly."

Since this is talking about thunking I assume it is for the 32 bit version of OS/2 rather than a relic from the 286 version of OS/2.  And besides you need to be able to read/write to a pipe from WinOS2.

How do you allocate memory (a buffer for a message) so that it does not cross a 64k boundary? 

I am programming in C - specifically VisualAge.

I don't see anything specific in DosAllocMem().   The #pragma pack only addresses alignment to 1,2,4,8 or 16 byte  alignments.

26
Programming / Non-English programming questions - in English
« on: August 25, 2020, 06:29:09 am »
When non-English speakers write programs, such as Rexx, SQL or C, what language do they write in?

For example in SQL - in English a query looks like

SELECT column1, column2 FROM thisTable WHERE someCondition ORDER BY column3

Does a Spanish speaker or German speaker write the same thing, or do they write the Spanish/German words for SELECT FROM WHERE and ORDER BY?

Likewise in Rexx, does everyone write DO UNTIL and SELECT , or do they write their own language equivalents?

27
Programming / WPS Locale Object Questions
« on: August 21, 2020, 11:47:55 pm »
In the System Setup folder there is a WPS object called Locale.

That object appears to have locale settings that are not obtainable from the OS/2 Control Program DosQueryCtryInfo() function.  Furthermore for the items in the WPS Locale object that DO appear in DosQueryCtyInfo() the settings shown in the WPS Locale object don't match the values returned by DosQueryCtyInfo().    For example the date separator character - see attachments.

So my questions are:

1) What locale does the WPS Locale object change or show?
2) How do I access those settings from a C language program?
3) Is there some object that reconciles what is returned by DosQueryCtyInfo() and the WPS Locale Object

Thanks




28
Applications / PmMail 3.24 bug
« on: May 17, 2020, 06:55:41 pm »
I upgraded to PmMail 3.24 and have encountered a bug which I cannot report to OS2 Voice.

The bug is:  The setting "Channel Encryption is Optional" does not retain its setting for two of my channels when PmMail is closed.  That setting is on the Global Settings notebook, on the Secure Transfer tab, select a Channel Definition and click the modify button. The Channel Encryption is Optional checkbox is on the dialog box that pops up.   If that check box is not checked PmMail will not connect to my Comcast email server.  The setting reverts to unchecked for two of my channels when PmMail is closed.

I tried reporting the bug to the URL specified in the PmMail help.  Which requires creating a new account in Mantis bug Tracker. The first time I tried to create an account I accidently typed the wrong email address.  There is no way to recover from this because the user name for the new account is now consided to be taken when I retry.  So I created another user name, correctly typed my email address, and tried using the confirmation URL emailed me by Mantis but received a message which says "The confirmation URL is invalid or has already been used. Please signup again."

BTW - other than that the new version looks very nice.


29
Just ran across a video which shows alternatives to Windows and Mac - and includes ArcaOS in the list

https://www.youtube.com/watch?v=ATwT4DwoXnM

30
Article Discussions / Greatest keyboard of all time?
« on: January 02, 2020, 05:49:55 am »
The one in the photo was built Sep 1993, and is hooked up to my ASUS/AMD system via a PS/2 to USB convert that runs through a USB KVM switch.

I am partial to the IBM Model M, as is the Linus Tech guy -  https://www.youtube.com/watch?v=D7wmMZmMinM.

I get parts for mine at www.clickykeyboards.com

If you are partial to the older Model F you might be able to pick up a new modern one from https://www.modelfkeyboards.com
This guy is "Bringing back the classic buckling spring keyboard, built to last for decades but out of production since the 1980s, for a short production run ending soon!"   He is building the F62 Model F – Kishsaver and the F77 Model F.  I don't like the keyboard layouts of the Model F, but you can get customization of the key layouts so that it comes close to the Model M.

Pages: 1 [2] 3 4