64 Bit

Alle anderen Themen ...

Moderator: ModerationP

Re: 64 Bit

Beitragvon volti » 27. Feb 2021, 18:29

Hallo Max,

aus meinem momentanen Exil habe ich mal ein bisschen rumgespielt und getestet.

Zunächst Absturz:
Ich habe die olepro32.dll nicht auf meinem Rechner. Du solltest dort die "oleaut32.dll" einsetzen.

Die GDI-Funktionen zum Verschieben des Bildausschnittes funktionieren.
Es werden beim Debugging aber teilweise negative Handle/Pointerwerte angezeigt.

Das Bild wird in die Zwischenablage kopiert. objPicture.handle ist negativ.

lngUboundArray = .bmWidth * .bmHeight * (.bmBitsPixel \ 8) liefert 0, weil alle bm-Values 0 sind.

ReDim abytNewPicBits(1 To lngUboundArray) daher führt zum Absturz, weil lngUboundArray=0 ist.
lngUboundArray=0 führt hier und später immer zu Error 9 (Index außerhalb des Bereichs)

Edit: Bitte überall .lngSize = LenB(udtPicInfo) einsetzen.Dann sind die bm-Values nicht mehr leer.
Das mit dem LenB hatte ich schon öfter als Fehlerquelle bzgl. der Structurelänge
Jetzt hängt es halt hier:
Call RtlMoveMemory(ByVal StrPtr(strTemp2), sabytOldPicBits(1), CLngPtr(lngUboundArray))
Index außerhalb....

Weiter bin ich noch nicht und muss später mal weitermachen. Zwischenzeitlich kannst Du ja mal schauen.

Bis dann
Karl-Heinz
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon Nepumuk » 28. Feb 2021, 08:50

Hallo Karl-Heinz,

habe die vorgeschlagenen Änderungen gemacht.

Code: Alles auswählen
Private Declare PtrSafe Function OleCreatePictureIndirect Lib "oleaut32.dll" ( _
    ByRef PicDesc As PIC_DESC, _
    ByRef RefIID As GUID, _
    ByVal fPictureOwnsHandle As LongPtr, _
    ByRef IPic As IPictureDisp) As LongPtr
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: 64 Bit

Beitragvon volti » 01. Mär 2021, 08:54

Hallo Max,

mit den Änderungen "oleaut32.dll" und den beiden LenB(udtPicInfo) läuft das jetzt durch.

Ich hatte den Timer nach erstem Aufruf der Timerprocfunction abgeschaltet, um den Code durchsteppen zu können. Deshalb kam der Folgefehler bei Call RtlMoveMemory.

Ohne Kommentierung und vor allem, ohne Wissen was da jetzt genau der Output sein soll, ist das etwas schwierig zu durchschauen.

Also Start und Stopp starten/stoppen den Timer, da passiert auch was.

Zu sehen ist da allerdings nichts. Sollte jetzt nicht irgendwo der Bildausschnitt gezeigt werden?
Ich habe auch eine ähnliche Function, wo ein Bildausschnitt ggf. vergrößert (Lupe) irgendwo hingeschoben werden kann.

Einen schönen Wochenbeginn
Karl-Heinz
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon Nepumuk » 01. Mär 2021, 09:24

Hallo Karl-Heinz,

da wird das Bit-Array in einen String kopiert um ihn leichter vergleichen zu können. Ansonsten müsste ich die Arrays in einer Schleife vergleichen.

Schieb einfach mal einen Ordner oder irgend etwas anderes in die linke obere Ecke des Bildschirms, da sollte es piepen.
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: 64 Bit

Beitragvon volti » 01. Mär 2021, 10:24

Ok,
funktioniert.

Piept bei jeder (Pixel)-Änderung in der oberen linke Ecke. Also auch schon, wenn sich die Maus im Excel-Ribbon bewegt....

VG KH
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon Nepumuk » 01. Mär 2021, 10:29

Hallo Karl-Heinz,

VIELEN DANK für die Unterstützung !!!
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: 64 Bit

Beitragvon Nepumuk » 10. Mär 2021, 14:05

Hallo Karl-Heinz,

magst du mal testen? Einfach einen oder mehrere Hyperlinks zu Bildern einfügen und diese(n) dann mit der Maus überstreichen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: 64 Bit

Beitragvon volti » 10. Mär 2021, 23:01

Hallo Max,

habe zwei Hyperlinks zu Bildern auf meiner Festplatte eingefügt:
Läuft super....

viele Grüße
Karl-Heinz
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon volti » 10. Mär 2021, 23:16

Hallo Max,

beim Abspeichern Deiner Datei via "Datei-Ansicht" passiert genau das gleiche wie bei meinen Aktivitäten zu diesen Themen, sei es über Mousehooking oder, wie bei Dir, per Timer.

Obwohl nun die "Datei-Ansicht" im Vordergrund gezeigt wird, wird beim Überfahren der Stellen, an denen das PopUp-Bild auf dem Worksheet kommen soll, hier auch das entsprechende Bild gezeigt.
Mousehooking bzw. Timer sind hier ja nicht abgeschaltet. Aber Excel "denkt", dass es noch im Worksheet ist.
Das kann im ungünstigsten Fall dazu führen, dass die Einträge nicht mehr geklickt werden können.

Leider etwas unschön, aber vielleicht ein hinnehmbares Problem. :-)

viele Grüße
Karl-Heinz
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon Nepumuk » 11. Mär 2021, 07:35

Hallo Karl-Heinz,

DANKE fürs testen.
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: 64 Bit

Beitragvon Nepumuk » 04. Apr 2021, 14:20

Hallo Karl-Heinz,

ich komme nicht weiter. Das Men wird anscheinend erstellt, aber das Umlenken in die Prozedur gelingt nicht.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Nepumuk am 04. Apr 2021, 14:56, insgesamt 1-mal geändert.
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

Re: 64 Bit

Beitragvon mumpel » 04. Apr 2021, 14:29

Kannst Du bitte eine Version ohne Zertifikat hochladen? Mein PC mag Dein Zertifikat nicht.
Benutzeravatar
mumpel
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8329
Registriert: 09. Jan 2005, 15:20
Wohnort: Lindau (B)

Re: 64 Bit

Beitragvon volti » 07. Apr 2021, 09:33

Hallo Max,
bin bis heute abend offline, kann ggf. morgen danach schauen, wenn noch nicht gelöst.
VG KH
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon volti » 08. Apr 2021, 15:59

Hallo Max,

komme da leider auch z.Zt. nicht weiter.

Obwohl alle Variablen gesetzt sind erfolgt nach Setzen der Prozedur sofort ein Absturz.....

Auch wenn ich den Inhalt der Proc, insbesondere die CallWindowProcA testeweise rausnehme erfolgt der Absturz.

Es gibt wohl allgemein Probleme unter 64 Bit mit dieser Vorgehensweise, andere (nicht wir) haben sogar Probleme beim Verwenden der GWL_WNDPROC, da sie nicht in der entsprechenden H-Datei definiert ist und GWLP_WNDPROC zu nehmen ist. :-(


Und unter 32-Bit läuft das bei Dir problemlos?

viele Grüße
Karl-Heinz
volti
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 154
Registriert: 22. Jul 2020, 13:55
Wohnort: Freigericht-Somborn

Re: 64 Bit

Beitragvon Nepumuk » 08. Apr 2021, 16:20

Hallo Karl-Heinz,

unter 32Bit ist es gelaufen. Musste aber jetzt beruflich auf Microsoft 365 umstellen und da bekomme ich es nicht mehr zum laufen. Das selbe Problem gibt es auch beim Sortieren eines ListViews per API.

Aber ich habe ja noch Alternativen.
De fontibus non est disputandum

Gruß
Nepumuk 8-)
Benutzeravatar
Nepumuk
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 15212
Registriert: 10. Aug 2004, 08:40
Wohnort: Regensburg

VorherigeNächste

Zurück zu Offtopic (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste