That is very strange indeed. Boolean variables aren’t supposed to behave that way. Is the behavior consistent. i.e. does it persist after a reboot of your PC?
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
Not Not (2002 SP3)
Home » Forums » AskWoody support » Productivity software by function » Visual Basic for Applications » Not Not (2002 SP3)
- This topic has 17 replies, 8 voices, and was last updated 20 years ago.
Viewing 1 reply threadAuthorReplies-
WSPaul Lautman
AskWoody LoungerMay 18, 2005 at 12:36 pm #948500Still there after a reboot.
The attached worksheet contains a small piece of test code. Obviously you can’t run it unless you have IBM Personal Communications on your PC.Sheets 1 to 3 show results of 3 tests:
Sheet 1:
With a timeout of 1000 milliseconds, oia.waitforinputready() returns False.
You can see that ir = False and Not ir = True
This is as expected.Sheet 2:
With a timeout of 10000 milliseconds, oia.waitforinputready() returns True.
You can see that ir = True and Not ir = True
This is NOT as expectedSheet 3:
Setting ir to True explicitly (even though with a timeout of 10000 milliseconds it would already have been True) gives us:
ir = True and Not ir = False
Once again as expected. -
WSHansV
AskWoody Lounger -
WSPaul Lautman
AskWoody Lounger -
WSHansV
AskWoody Lounger -
WSpieterse
AskWoody LoungerMay 18, 2005 at 1:26 pm #948537This is a declaration and a type conversion problem.
I spotted that not all variables are dim’ed in your code.
I think the IBM code is not returning a boolean value. Since you haven’t dim’ed ir, it is by default a Variant and when assigning a value to it, it will accept any format.
Consider these three small routines:
Option Explicit Sub test1() Dim nir As Boolean Dim ir As Variant ir = 1 nir = Not ir MsgBox nir ir = 0 nir = Not ir MsgBox nir End Sub Sub test2() Dim nir As Boolean Dim ir As Variant ir = True nir = Not ir MsgBox nir ir = False nir = Not ir MsgBox nir End Sub Sub test3() Dim nir As Boolean Dim ir As Boolean ir = 1 nir = Not ir MsgBox nir ir = 0 nir = Not ir MsgBox nir End Sub
See what I mean?
-
WSPaul Lautman
AskWoody LoungerMay 18, 2005 at 1:40 pm #948543I didn’t Dim it in the attached workbook, but if you look at the picture in the first append, I did have them Dimmed as Boolean and it was still exhibiting the behaviour.
Also a Debug.Print of oia.waitforinputready(n) returns True or False.
Bottom line is, is there some way that I can code this to make a working True/False value?
-
WSHansV
AskWoody Lounger -
WSPaul Lautman
AskWoody Lounger -
WSHansV
AskWoody Lounger -
byteme
AskWoody Plus -
WSrory
AskWoody LoungerMay 20, 2005 at 9:03 am #948885Hi Paul,
Just as a matter of interest, does it help if you move the oia.waitforinputready call into a separate function which explicitly returns a boolean? The fact that it always seems to work when the function returns false (which has to be zero) but not when it returns true does seem to imply that it is not returning a real boolean value, but some sort of number; hence when you apply Not, you’re flipping the bits but still ending up with a number other than 0, so getting a true value. I am confused though as to why the assignment to a boolean variable does not force the values to be true booleans. -
WSPaul Lautman
AskWoody LoungerMay 20, 2005 at 10:08 am #948901 -
WSpieterse
AskWoody LoungerMay 18, 2005 at 2:02 pm #948552I missed the Dim in the picture.
But since my code does show a similar behaviour, I think Hans’ suggestion might help (explicitly converting to a boolean before assigning).Last thing to try: clean your code! http://www.appspro.com/Utilities/CodeCleaner.htm%5B/url%5D
-
-
-
-
WSPaul Lautman
AskWoody LoungerMay 18, 2005 at 12:49 pm #948460Edited by StuartR to reduce size of graphic
I am seeing some very strange behaviour when writing a programmed operator using VBA in Excel. I wonder if anyone can explain it.
The programmed operator is using OLE to interact with an IBM Personal Communications 3270 emulator.
One ofthe methods available is WaitForInputReady for which the documentation says:
Method: Boolean WaitForInputReady
The WaitForInputReady method waits until the OIA of the connection associated with autECLOIA object indicates that the connection is able to accept keyboard input
Input Parameters:
-
WScharlotte
AskWoody LoungerMay 18, 2005 at 12:16 pm #948490Does the result change if you take the parens out from Not (ir) and execute it as Not ir ? I have run into situations where a Not condition always returned true in other VBA implementations and in those circumstances, I have been forced to use workarounds like while loops or If-Else constructs.
-
WSchrisgreaves
AskWoody LoungerMay 18, 2005 at 9:18 pm #948572I have a vague sense of unease that this is similar to a problem that plagued me with hex values recently.
Sometimes -1 and &HFFFF and True and False and zero and not-zero don’t seem to connect properly.
Could it be that some specific bit pattern (length of bit string AND their values) is given a different interpretation by different code? We have all met mis-matched specs where “0” means not a problem and 0 means a problem. Or >=0 means “found” and -1 means not-found. But -1 means True, right? so something that treated -1 as True might be mis-interpreting a not-found response and thinking that everything is OK.
I noticed a reply (480920) that mentioned problems with variants.
-
WSSteveH
AskWoody Lounger
Viewing 1 reply thread -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
DBOS Advanced Network Analysis
by
Kathy Stevens
1 hour, 1 minute ago -
Microsoft Edge Launching Automatically?
by
healeyinpa
1 hour, 44 minutes ago -
Google Chrome to block admin-level browser launches for better security
by
Alex5723
3 hours, 41 minutes ago -
iPhone SE2 Stolen Device Protection
by
Rick Corbett
4 hours, 23 minutes ago -
Some advice for managing my wireless internet gateway
by
LHiggins
53 minutes ago -
NO POWER IN KEYBOARD OR MOUSE
by
HE48AEEXX77WEN4Edbtm
5 hours, 18 minutes ago -
A CVE-MITRE-CISA-CNA Extravaganza
by
Nibbled To Death By Ducks
13 hours, 11 minutes ago -
Sometimes I wonder about these bots
by
Susan Bradley
9 hours, 28 minutes ago -
Does windows update component store “self heal”?
by
Mike Cross
1 day, 2 hours ago -
Windows 11 Insider Preview build 27858 released to Canary
by
joep517
1 day, 3 hours ago -
Pwn2Own Berlin 2025: Day One Results
by
Alex5723
1 day, 2 hours ago -
Windows 10 might repeatedly display the BitLocker recovery screen at startup
by
Susan Bradley
23 hours, 3 minutes ago -
Windows 11 Insider Preview Build 22631.5409 (23H2) released to Release Preview
by
joep517
1 day, 5 hours ago -
Windows 10 Build 19045.5912 (22H2) to Release Preview Channel
by
joep517
1 day, 5 hours ago -
Kevin Beaumont on Microsoft Recall
by
Susan Bradley
18 hours, 25 minutes ago -
The Surface Laptop Studio 2 is no longer being manufactured
by
Alex5723
1 day, 13 hours ago -
0Patch, where to begin
by
cassel23
1 day, 8 hours ago -
CFPB Quietly Kills Rule to Shield Americans From Data Brokers
by
Alex5723
2 days, 3 hours ago -
89 million Steam account details just got leaked,
by
Alex5723
1 day, 15 hours ago -
KB5058405: Linux – Windows dual boot SBAT bug, resolved with May 2025 update
by
Alex5723
2 days, 12 hours ago -
A Validation (were one needed) of Prudent Patching
by
Nibbled To Death By Ducks
2 days, 3 hours ago -
Master Patch Listing for May 13, 2025
by
Susan Bradley
1 day, 14 hours ago -
Installer program can’t read my registry
by
Peobody
7 hours, 3 minutes ago -
How to keep Outlook (new) in off position for Windows 11
by
EspressoWillie
2 days ago -
Intel : CVE-2024-45332, CVE-2024-43420, CVE-2025-20623
by
Alex5723
2 days, 8 hours ago -
False error message from eMClient
by
WSSebastian42
2 days, 23 hours ago -
Awoke to a rebooted Mac (crashed?)
by
rebop2020
3 days, 8 hours ago -
Office 2021 Perpetual for Mac
by
rebop2020
3 days, 9 hours ago -
AutoSave is for Microsoft, not for you
by
Will Fastie
7 hours, 8 minutes ago -
Difface : Reconstruction of 3D Human Facial Images from DNA Sequence
by
Alex5723
3 days, 13 hours ago
Recent blog posts
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.