WinAPI Library (Offline)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Josef Sniatecki hat geschrieben:[...]

Da steht ausdürcklich, dass die Kernel32 Lib nicht für PB 4.00 optimiert
wurde. Ich habe zwar keine Ahnung was das nun bedeutet, jedoch kann
ich mir denken, dass das der Grund für ein Fehler bei mir ist.

Auch der Code da oben funzt bei mir nicht. Scheint also an PB bzw. an
der DLL zu liegen, die seit 4.00 nicht aktualisiert wurde.
Und gerade ich habe vieleicht ne Windows Version, die nicht damit klar
kommt.
Es gibt keine optimierten Windows libs fuer PB. Die Lib ist noch aus win98
Tagen. Da gab es den Befehl noch nicht (erst ab win2000), deshalb muss es
dynamisch geladen werden.
Welchen Weg man nun aber am Ende nimmt, ist fuer die Funktion aber
egal. Das es nicht funktioniert liegt an deinem 64 Bit OS.
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

ts-soft hat geschrieben:
RSBasic hat geschrieben: Kann jemand das bestätigen oder weiß jemand zufällig, wieso das so ist?
Ich vermute mal, Bisonte hat die WinAPI Library als Tool in die IDE integriert,
da schmiert das Programm nach einem RunProgram ab, warum auch immer.
Dasselbe Problem habe ich mit dem TemplateExplorer, so das ich den einfach
beende, damits nicht Kracht :mrgreen:
Äh nein. Nix in der IDE installiert (Nur dein ExtraTools ;) )

Also WinApi Library.exe gestartet, Snippet ausgesucht, angeklickt,
Code im Editorfenster erscheint, PB-IDE öffnet sich (oder ist schon offen),
neuer Tab wird geöffnet, Snippet wird eingefügt. WinApi Library.exe verliert
sich in den Tiefen des Nirwana....
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Bisonte
>(oder ist schon offen)
Und das ist anscheinend die Ursache.

Wenn ich bei mir PB auch vorher öffne, dann mein Programm starte, einen Code auswähle und dann auf den Button "PureBasic" klicke, dann schmiert bei mir das Programm auch ab, warum auch immer (mit dem RunProgram() ist doch das gleiche, als ob man manuell mit der Maus eine Datei gestartet hat oder?)
Das versteh' ich irgendwie nicht.

Aber wenn PB nicht gestartet ist, dann funktioniert mein Programm ohne Probleme.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Nein, das liegt daran, das deinem Programm nicht bekannt ist, wo das Libraryverzeichnis ist. Ich habe versucht mit Rechtsklick per Drag & Drop die WinApiLibrary in Start Programme zu ziehen. Also eine Verknüpfung. Dann erst wenn du aus Start das Symbol für dein Programm startest, hängt sich dein Programm auf. Nun habe ich
einfach im gleichen Verzeichnis eine Verknüpfung gemacht und diese
dann im Start Programm verschoben. Grund. Dort ist das WinApiLibraryverzeichnis bekannt.

Damit funktioniert dann auch bei gestarteter PB-IDE die Sourceübernahme.

Ich hoffe ich konnte hiermit einen guten Tipp geben.
Also bei mir funktioniert es so wunderbar 8)

Gruß, Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Jetzt hab ich das nochmal reproduzierbar gemacht :

Wenn WAL.exe (WinApi Library.exe) gestartet wird, BEVOR die IDE geöffnet wurde,
kann ich ohne Absturz alle möglichen Snippets per Klick übertragen.

Wenn aber WAL.exe gestartet wird, NACHDEM die IDE geöffnet wurde,
gibts den Absturz.
Ebenso wenn WAL.exe einmal funktionierend gelaufen ist und ich das beende,
und später nochmal starte... Absturz.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Bisonte hat geschrieben:Jetzt hab ich das nochmal reproduzierbar gemacht :

Wenn WAL.exe (WinApi Library.exe) gestartet wird, BEVOR die IDE geöffnet wurde,
kann ich ohne Absturz alle möglichen Snippets per Klick übertragen.

Wenn aber WAL.exe gestartet wird, NACHDEM die IDE geöffnet wurde,
gibts den Absturz.
Ebenso wenn WAL.exe einmal funktionierend gelaufen ist und ich das beende,
und später nochmal starte... Absturz.
Und kannst du das auch mit einem, im selben Verzeichnis, verknüpften WAL.exe (WinApi Library.exe) reproduzieren?
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Ich hab alles versucht (per RunProgram() sowie ShellExecute_()), aber leider stürzt mein Prog jedesmal ab.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Ich hab einen OnError eingebaut und bekomme folgende Absturzmeldung:
A program error was detected hat geschrieben:Error Message: Invalid memory access
Error Code: -1073741819
Code Address: 4260671
Target Address: 8
Sourcecode line: 625

Register content:
EAX = 0
EBX = 45351510
ECX = 3940528
EDX = 2
EBP = 1245056
ESI = 2117574361
EDI = 0
ESP = 1245044
Sourcecode line: 625 hat geschrieben:EventID=WaitWindowEvent()
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Falko hat geschrieben:Und kannst du das auch mit einem, im selben Verzeichnis, verknüpften WAL.exe (WinApi Library.exe) reproduzieren?
Ich glaub ich weiss nicht genau was du damit meinst...

Also ich habe jetzt mal eine Verknüpfung erstellt, und diese gestartet.
genau das gleiche. Auch wenn ich diese in den PB-Install Ordner kopiere und dort starte...
Oder hab ich da was missverstanden ?

Edit: hab mal das textfile was windows als Bericht wegschicken will rausgepult...

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="WinAPI Library.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="Aktualisierung.exe" SIZE="44544" CHECKSUM="0x3C49AF1D" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/28/2009 11:11:28" UPTO_LINK_DATE="03/28/2009 11:11:28" />
    <MATCHING_FILE NAME="WinAPI Library.exe" SIZE="78336" CHECKSUM="0xF205831E" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="03/28/2009 20:57:11" UPTO_LINK_DATE="03/28/2009 20:57:11" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1063424" CHECKSUM="0x2E7379C2" BIN_FILE_VERSION="5.1.2600.5512" BIN_PRODUCT_VERSION="5.1.2600.5512" PRODUCT_VERSION="5.1.2600.5512" FILE_DESCRIPTION="Client-DLL für Windows NT-Basis-API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Betriebssystem Microsoft® Windows®" FILE_VERSION="5.1.2600.5512 (xpsp.080413-2111)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x106523" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5512" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5512" LINK_DATE="04/14/2008 02:21:52" UPTO_LINK_DATE="04/14/2008 02:21:52" VER_LANGUAGE="Deutsch (Deutschland) [0x407]" />
</EXE>
</DATABASE>
Seh ich das richtig, dass die Aktualisierung.exe etwas damit zu tun hat ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

@Bisonte

Du hast es schon richtig gemacht, wie ich das gemeint hatte. Im Vista funktioniert es mit gestarteter Verknüpfung ohne Fehler. Ich habe nun
mit einem virtuellen Windows 2000 probiert. Da stürzt die WinApilib auch ab.

Ich kann mich noch erinnern, das ich ein Prob mit dem CloseHelp() hatte. Da hat mir das am Ende gesetzte CloseWindows() geholfen und der Fehler war weg.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten