Autoit ImageSearch and Windows 7 Unterminated String - autoit

I just found ImageSearch library, very cool!
But when I tried to test it out I got strange errors, the only one I can't seem to get around is:
Line 46 (File "C:\...\ImageSearchDLL\ImageSearchTest.au3"):
U1A%a]A%01/4' Error: Unterminated String.
Thats the error but my script doesn't even have 46 lines so it must be in something its importing, here's the test script:
#include <MsgBoxConstants.au3>
#include "ImageSearchDLL.dll"
#include "ImageSearch.au3"
local $x, $y, $search
$search = _ImageSearch('search.bmp', 0, $x, $y, 0)
if $search = 1 then
mousemove($x,$y)
EndIf
MsgBox($MB_SYSTEMMODAL, "imagesearch", $x, 10)
its not line 46 in the imageSearch.au3 either.
So! my thinking is its a problem with the DLL.
I'm on windows 7, could it be that imagesearch.dll is not compatible with windows 7?
That would make me quite sad. Can someone help me? Perhaps there are newer alternatives I'm unaware of. Thanks so much!

You can not include .dll files on autoit. I don't know why you are using it.
The UDF calls it by itself.
The error must be on the version you are using. Just update it or look for a version more up to date.

Try to compile your script using x64 or x86 compiler, depending on your system. Then executing it using yourscript.exe

https://www.autoitscript.com/forum/topic/177190-imagesearch-gives-unterminated-string/
I found a "fixed" version that works with windows 7 here on the forums somewhere. attached is the file I found. I have no idea what was done to fix these unterminated string errors I kept getting but I must have been using a very old version or something. hope this helps others!

Related

dir? or any command followed by "?" yields a + sign. Why?

Just experimenting with help in RStudio. So I type setwd? and the help comes up in another RStudio window. Now I type ls? ( at the console ) and all I get is "+". What's it expecting? I was told you don't need to put the () in and even if you do, same thing happens. I have to escape out of it. Shut down and startup...same problem and same ole' output from setwd?.
I'm on a MacBook air M1 macOS BigSur 11.3.1
It's expecting a string/object after the ? to search the prior type of files for. The characters before the ? it is treating as a type. If nothing is before the ? it searches all types of documentation: objects, packages, etc. Examples:
Is?is
Error in `?`(Is, is) :
no documentation of type ‘Is’ and topic ‘is’ (or error in processing help)
?"is"
?is
package?methods

Turbo Pascal BGI Error: Graphics not initialized (use InitGraph)

I'm making a Turbo Pascal 7.0 program for my class, it has to be on Graphic Mode.
A message pops up
BGI Error: Graphics not initialized (use InitGraph).
I'm already using InitGraph and graph.tpu and I specified the route as "C:\TP7\BGI".
My S.O is Windows 7 and I'm using DosBox 0.74, I already tried to paste all the files from the folder BGI into BIN.
What should I do?
Since dos doesn't have system graphic drivers, the BGI functions as such for BP7.
So in short, use a BGI suitable for your videocard. The ones supplied with BP7 are very old, there are newer, VESA ones that you could try.
Afaik 3rd party BGI needs to be registered explicitly in code though.
At first I have had this "missing Graph.tpu"- ... and later the "Use Initgraph"-issue too.
After hours trying (and reading some not politeful comments in the internet) I finally got Turbo Pascal 7 succesfully running (in Windows 10, x64). In summary I want to share "some secrets":
install the "TP(WDB)-7.3.5-Setup.msi" (comes from clever people in Vietnam)
make sure, that there's the CORRECT PATH to the "BGI"-directory in your program-code. For example:
driver := Detect;
InitGraph (driver, modus, 'c:\TPWDB\BGI');
(By the way: This is ALL, what's there to do with "Initgraph".)
make sure, that in TP7 under "Options" --> "Directories" are the CORRECT PATHS both to "C:\TPWDB\UNITS" and Your actual working dir e.g. "C:\TPWDB\myPrograms"
THAT's IT.
Annotations: The "Graph.TPU" (usually) is already in "UNITS" (together with "Graph3.tpu" by the way).
Hazzling around old driver's isn't needed even... :)
Just the correct paths... :)
Hope, that can help ...

Eclipse shows syntax error when using PRId64 from inttypes.h

When I do
#include <inttypes.h>
long long value = 0;
printf("An 8 byte long integer value: %"PRId64".", value);
Eclipse shows me a syntax error in the printf line. Anybody knows how to get rid of it? This is the only way I know to have a printf working on both 32-bit and 64-bit architectures and Eclipse errors every few lines make it quite hard to see the real issues.
Thanks!
The question was answered here.
You need to add __STDC_FORMAT_MACROS in Project Properties->C/C++ General->Paths and Symbols.

Where is keywords code assist and letter not allowed problem(Aptana Studio 3)

I recently switched from Aptana2 to version3.0.3, and the first thing i did was to install the sdomcl. file to get jQuery code assist.It works fine for jQuery, but there is no code assist for many keywords.For exymple there is no support for var,while,throw,try,break,case,catch etc.
Also there is no function, instead intellisense sugests Function.
The second problem is that i am constantly getting this warning '<' + '/' +letter not allowed here when typing something valid like this:
confirmDiv =$("")-sorry for this,but it wont let me type what i want, basically i am just creating a new div with the correct syntax.
Could it be something with Html Tidy?Anyways, big thanks in advance!
Aptana Studio 3.0.4 includes code assist for JavaScript keywords.
I've read that for Javascript the slashes / must be escaped with backslashes \ as it says here
Doing so the warning dissapears ;)

including Qt headers in DLL

I have a DLL in wich I would like to take a reference to a QObject and manipulate it, without actually creating an interface. So, I included "Qt/qobject.h" and compiled, but the compiler (Visual Studio 2008 pro) gives me syntax errors. It looks like it doesn't recognize the QThread object. How do I use a QObject in my dll? Is this even possible? Do I have to start my program from a Qt app? I'm actually trying to set a system-wide hook and get 3rd application QWidgets to manipulate... Any idea how I can use QObject in my dll?
Here are the errors:
1>------ Build started: Project: FroggerDLL, Configuration: Debug Win32 ------
1>Compiling...
1>FTClient.cpp
1>c:\qt-win-opensource-src-4.5.2\src\corelib\kernel\qobject.h(154) : error C2059: syntax error : 'type'
1>c:\qt-win-opensource-src-4.5.2\src\corelib\kernel\qobject.h(154) : error C2238: unexpected token(s) preceding ';'
1>c:\qt-win-opensource-src-4.5.2\src\corelib\kernel\qobject.h(155) : error C2144: syntax error : 'int' should be preceded by ')'
1>c:\qt-win-opensource-src-4.5.2\src\corelib\kernel\qobject.h(155) : error C2144: syntax error : 'int' should be preceded by ';'
1>c:\qt-win-opensource-src-4.5.2\src\corelib\kernel\qobject.h(155) : error C2059: syntax error : ')'
1>c:\qt-win-opensource-src-4.5.2\src\corelib\kernel\qobject.h(155) : error C2208: 'int' : no members defined using this type
1>FroggerDLL - 6 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 3 up-to-date, 0 skipped ==========
Any help would be greatly appreciated,
Thanks
Dave
What's on line 154? Mine is just the declaration
QThread* thread() const;
but that's 4.5.1 on Linux so it might be different. The first reference to anything involving the token type is on line 204 which is a variable of type Qt::ConnectionType.
BTW. I just tried compiling the following on my system ( in the file incqobj.cpp )
include <QOObject>
QObject myQOject;
with
g++ -I/usr/lib/qt4/include -I/usr/lib/qt4/include/QtCore -c incqobj.cpp
and it compiled fine so it should be as simple as that.
Edit: Since Jesse confirms that it works for him on Windows I'm tempted to say that you've got a non-Qt macro coming in and interfering. One thing you could do is a sanity check on what the compiler is actually seeing by getting VS to only produce the preprocessed source rather than do the compilation.
I haven't used VS in years but I think the option is \E maybe?
[Edit: see the 2nd comment by Jesse, it should be /E] It may also be an explicit option now in the compiler properties which can be set for that source file. Can't remember where it puts the output either so you may need to hunt around for it a bit! If you get that going though you can check to see if the code looks right at the part that would correspond to line 154 in the original QObject header.
Thanks for all the help, solution: I had to include the Qt headers before all my other includes, and it now compiles.
Thanks again!
Try including QThread?
#include <QThread>
Qt uses forward declaration extensively and sometimes you need to include extra headers.
EDIT:
Do you set any defines? Here is what I have for my 2003 Qt commercial (4.3.4) project (executable that links to Qt dlls):
QT_LARGEFILE_SUPPORT
QT_DLL
QT_GUI_LIB
QT_CORE_LIB
QT_THREAD_SUPPORT
QT_NETWORK_LIB

Resources