Jump to content
nacerbaaziz

a problem when using dllCall function

Recommended Posts

Posted (edited)

Hello, my dear professors.
i have a problem when i try to use this code

speech("test speaking", 1)
func speech($s_text, $interrupt = 0)
local $speechCall = DllCall("UniversalSpeech.dll", "int", "speechSay", "wstr", $s_text, "int", $interrupt)
if @error then
msgBox(16, "", @error)
else
msgBox(64, "test", $speechCall[0])
endIf
endFunc

Where when i try to use it the script is paused and the next codes don't work correctly
but the dll function is works correctly
while the MSGBoxes is not appear
i can't know why this problem
this is the C function from the DLL file

int export speechSay (const void* str, int interrupt) {
begin : if (current<0 && (current=detect())<0) return 0;
if (!engines[current].say(str,interrupt) && !engines[current].isAvailable()) {
engines[current].unload();
current = -1;
goto begin;
}
else periodicRetry();
return 1;
}


i hope you can help me
i wish you a good days

Edited by nacerbaaziz

Share this post


Link to post
Share on other sites

Where can i get this dll?

It would be nice if i could test it here and try troubleshoot.


Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites

Dear Sirs, I urgently need to solve this problem, because the program that I design is based on the management of screen readers. This library is the only one that controls all screen readers without exception, CAN you help me please?
I TRYED TO USE THE JfWApi and NVDA controler
but in the JFWApi there is an problem with autoit when i use it with arabic strings, for that i need to use this DLL because no errors with arabic strings.
please help me

Share this post


Link to post
Share on other sites
Posted (edited)

there is no idea.

am waiting for your help because i tried alot and i could not know where is the problem.

Edited by nacerbaaziz

Share this post


Link to post
Share on other sites

I get error 1, so it indicates it cannot use the dll, so there is a possibility that there is a problem in the dll.


Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites
Posted (edited)

Still got error 1 on that new version.

I find it amazing that you say it's impossible, specially since you cannot make it work on your end.

>"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Users\3C\Desktop\bin\NewAu3.11.18.26.au3" /UserParams    
+>21:28:21 Starting AutoIt3Wrapper v.18.708.1148.0 SciTE v.4.1.0.0   Keyboard:00000816  OS:WIN_10/  CPU:X64 OS:X64  Environment(Language:0409)  CodePage:0  utf8.auto.check:4
+>         SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE   UserDir => C:\Users\3C\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE_USERHOME => C:\Users\3C\AppData\Local\AutoIt v3\SciTE 
>Running AU3Check (3.3.14.5)  from:C:\Program Files (x86)\AutoIt3  input:C:\Users\3C\Desktop\bin\NewAu3.11.18.26.au3
+>21:28:21 AU3Check ended.rc:0
>Running:(3.3.14.5):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\3C\Desktop\bin\NewAu3.11.18.26.au3"    
--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
Error:1
+>21:28:22 AutoIt3.exe ended.rc:0
+>21:28:22 AutoIt3Wrapper Finished.
>Exit code: 0    Time: 1.655
speech("test speaking", 1)

Func speech($s_text, $interrupt = 0)
Global $speechCall = DllCall("UniversalSpeech.dll", "int", "speechSay", "wstr", $s_text, "int", $interrupt)
If @error <> 0 then
ConsoleWrite('Error:'&@error &@CRLF)
msgBox(16, "", @error)
Else
msgBox(64, "test", $speechCall[0])
EndIf
EndFunc

This is what i got. DLL is in the same dir as the script.

Edited by careca

Spoiler

Renamer - Rename files and folders, remove portions of text from the filename etc.

GPO Tool - Export/Import Group policy settings.

MirrorDir - Synchronize/Backup/Mirror Folders

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

String Trigger - Triggers pasting text or applications or internet links on specific strings.

Inconspicuous - Hide files in plain sight, not fully encrypted.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

IUIAutomation - Topic with framework and examples

Au3Record.exe

Share this post


Link to post
Share on other sites

hello

am sorry for this long thread

sir the dll must call in 32 bit

try to run your script as 32 and look for the result

thx

Share this post


Link to post
Share on other sites
Posted (edited)

your dll is "cdecl" x86 calling conventions, stack is corrupted if you use stdcall,

 

use int:cdecl

DllCall("UniversalSpeech.dll", "int:cdecl", "speechSay", "wstr", $s_text, "int", $interrupt)

 

Edited by Celtic88

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...