Italia
Foro

AutoItX3.dll - PixelSearch Funktionsaufruf

 

Christian
Schneider
Ciao,

ich stehe leider mal wieder auf Kriegsfuß mit einer .dll. Diesmal ist es die AutoItX3.dll.
Ich möchte die Funktion AU3_PixelSearch aufrufen.
KompilierenMarkierenSeparieren
CLS
Declare autodll&
autodll&=UseDll(AutoItX3.dll)
importFunc(autodll&,AU3_PixelSearch,PixelSearch)
Pixelsearch(???????????)
FreeDLL autodll&
Waitk

Wie müsste jetzt der entsprechende Aufruf aussehen? Die Doku sagt:

AU3_API void WINAPI AU3_PixelSearch(long nLeft, long nTop, long nRight, long nBottom, long nCol, /*default 0*/long nVar, /*default 1*/long nStep, LPPOINT pPointResult);


Ich komme einfach nicht weiter. Dll und Aiuto hängen am Beitrag an.

Saluto Christian

186 kB
Hochgeladen:23.02.2009
Downloadcounter234
Download
306 kB
Hochgeladen:23.02.2009
Downloadcounter182
Download
 
XProfan 11| Vista(64) SP2
23.02.2009  
 



Einfachst
KompilierenMarkierenSeparieren - wenn das nicht klappen sollte bitte melden.

Lustig - solch Funktion wollte ich erst neulig in un DLL packen per XProfan - vlt. hole ich das nach.
 
23.02.2009  
 




Christian
Schneider
Ok, ich hätte mein Problem vielleicht etwas genauer beschreiben sollen

Vorweg zum kurzen Verständnis: Das von mir verwendete ImportFunc hat doch vom Prinzip her die gleiche Funktion wie Externals (abgesehen davon das die Funktion nicht direkt aufgerufen wird) oder?

Der Part der eben fehlte:

Wenn ich die Funktion aufrufe, z.B. wie jetzt getestet mit
KompilierenMarkierenSeparieren
external(pfad$,AU3_PixelSearch,100,100,400,400)
>
verabschiedet sich der Interpreter (AccessViolation xy...).
 
XProfan 11| Vista(64) SP2
23.02.2009  
 



Die Parameter in Typ und Anzahl müssen genau eingehalten werden - glaube das ist hier nicht der Fall was den Absturz erklären potuto.
 
23.02.2009  
 




Christian
Schneider
Hast Recht, hab einen Parameter zu wenig verwendet. Ich dachte die letzten 3 wären optional. Allerdings bleibt das Ergebnis das Gleiche.
KompilierenMarkierenSeparieren
Ich wüsste im Moment leider auch nicht was ich sinnvoll verändern potuto.
 
XProfan 11| Vista(64) SP2
23.02.2009  
 



AU3_PixelSearch(long nLeft, long nTop, long nRight, long nBottom, long nCol, long nVar, long nStep, LPPOINT pPointResult)

Ich zähle 8 Parameter!

(Bei derart nativen Aufrufen gibt es windows-technisch bedingt optionale Parameter nicht.)
 
23.02.2009  
 




Christian
Schneider
Ok, mit Rückgabewert (der ja auch ganz sinnvoll ist ;) ) sind es dann 8.
Ich werd dann damit nochmal ein wenig rumprobieren.
 
XProfan 11| Vista(64) SP2
23.02.2009  
 




Christian
Schneider
Bin immer noch so weit wie vorher. Gehe mittlerweile davon aus das es am Rückgabewert liegt (LPPOINT pPointResult -> Returns a 2 element array containing the pixels coordinates)

Ist das jetzt ein Pointer auf eine strukturierte Bereichsvariable, ein Array oder auf irgendwas völig anderes mit dem ich überhaupt nicht rechne?
 
XProfan 11| Vista(64) SP2
23.02.2009  
 



Vielleicht die Adresse eines x*y*Byte grossen Speichers, z.B. zu reservieren per
KompilierenMarkierenSeparieren
declare speich#
dim speich#,50*50
AU3_PixelSearch(0,0,49,49,$0000FF,1,1,speich#)re>
 
23.02.2009  
 




Christian
Schneider
Mir gehen langsam endgültig die Ideen aus. Habe so ziemlich alles versucht. Sämtliche Variablentypen, als Pointer, CDECL...
Bin per jeden Tipp dankbar. Codes zum posten hab ich leider keine, bzw. ich wüsste nicht welche ich dafür nehmen sollte. Andere Funktionen der dll habe ich auch getestet, diese laufen. Als Fehlerquelle vermute ich nach wie vor den Rückgabewert (weil sich die Funktion lediglich dadurch von den bei mir lauffähigen unterscheidet).
 
XProfan 11| Vista(64) SP2
24.02.2009  
 




Jörg
Sellmeyer
Ich würde es ja so vermuten aber ein kurzer Test zeigt, daß auch das knallt:
KompilierenMarkierenSeparieren
Cls
Declare Test#
Dim Test#,8
Var a& = Test#
Print External(AutoItX3.dll,AU3_PixelSearch,4, 4, 4, 4, $0000FF, 0, 1, a&)
oder noch wahrscheinlicher
Print External(AutoItX3.dll,AU3_PixelSearch,4, 4, 4, 4, $0000FF, 0, 1, Addr(a&))
Dispose Test#
WaitI
a>
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.02.2009  
 



Vlt. die DLL zunächst per UseDLL einladen.
 
24.02.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

22.817 Views

Untitledvor 0 min.
Normann Strübli09.06.2020
Walter31.12.2018
Peter Max Müller19.12.2017
E.T.12.12.2015
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie