PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
HeX0R
Beiträge: 2959
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von HeX0R »

PB ist da caseSENSITIVE!*
"%File" wird nicht funktionieren, aber "%FILE"

[Edit]
*offensichtlich nicht mehr!
Zuletzt geändert von HeX0R am 09.02.2022 23:25, insgesamt 1-mal geändert.
PB_Rainer
Beiträge: 21
Registriert: 10.06.2019 16:00

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von PB_Rainer »

Hi,

auch ohne Erfolg, egal ob:

"%FILE"
oder
%FILE

MfG
Rainer
Benutzeravatar
HeX0R
Beiträge: 2959
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von HeX0R »

Ich muss meine Aussage revidieren, keine Ahnung wann PB hier schlauer geworden ist, aber mittlerweile geht tatsächlich auch %File.
Vor ein paar Jahren ging das nicht, da bin ich nämlich fast wahnsinnig deswegen geworden.

Zurück zum Thema:
Funktioniert einwandfrei hier, natürlich nur mit den #DQOUTE wenn Leerzeichen im Pfad sind.

Wie soll ich eigentlich das hier verstehen:
>>Ungültige Datei angegeben >> C:\Program"

Deine Source Codes liegen im Program Files Ordner??

Davon abgesehen:
Der Source ist ja dabei, sollte nicht so schwer sein hinter das Problem zu kommen.
PB_Rainer
Beiträge: 21
Registriert: 10.06.2019 16:00

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von PB_Rainer »

Hallo,

der Pafd zum Source lautet:
C:\Program Files\PureBasic\MySources\Moba\Sourcecode.pb

Der beinhaltet ja ein Leerzeichen!
Wo gehört denn jetzt das #DQUOTE hin?

Vielen Dank
Rainer
Axolotl
Beiträge: 150
Registriert: 31.12.2008 16:34

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von Axolotl »

Hey,

der Pfad müsste so aussehen:

Code: Alles auswählen

"C:\Program Files\PureBasic\MySources\Moba\Sourcecode.pb"
Nur so als Idee: Der Sourcecode gehört nicht In den Bereich "\Program Files" \ sondern in die Datenverzeichnisse!
Also nach (hier die Environment Variablen): %APPDATA% oder %ProgramData% oder ...
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
PB_Rainer
Beiträge: 21
Registriert: 10.06.2019 16:00

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von PB_Rainer »

Danke,

aber auch dann funktioniert es nicht. Bleibe bei Copy&Paste.

Ich habe meine Daten gerne da wo ich sie haben will, nicht da wo Bill meint das sie sein sollen.

Rainer
Axolotl
Beiträge: 150
Registriert: 31.12.2008 16:34

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von Axolotl »

PB_Rainer hat geschrieben: 10.02.2022 17:00 Ich habe meine Daten gerne da wo ich sie haben will, nicht da wo Bill meint das sie sein sollen.
Ja, geht mir auch so. Deshalb nutze ich meine eigenen Ordner (C:\Tools\, C:\SoftwareDevelopment\, etc.) .
Ich will mich nicht ständig mit den Windows Standard Zugriffsberechtigungen rumschlagen...
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
Axolotl
Beiträge: 150
Registriert: 31.12.2008 16:34

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von Axolotl »

So. ich habe mal die a.m.S. relevanten Codestellen rausgeguckt. (Ich nutze das Tool nicht!)
Die Code-Stellen mit ; // <<== könnten hier eine Relevanz haben.
Aber Du sagtest ja, dass du den ersten Parameter mit "%File" übergibst.
Trotzdem vielleicht mal einen MessageRequester einfügen und sehen was der dann anzeigt.
Oder eine Logdatei mit dem Inhalt erzeugen ...

Code: Alles auswählen

Procedure CheckFile() 
; ... 
Procedure FileRequester()
	FileIn$ = OpenFileRequester("Wähle Datei...","","",1)
	; ... 
	If FileIn$ <> ""
		SetGadgetText(#String_Datei, FileIn$)
	Else 
		FileIn$ = GetGadgetText(#String_Datei)
	; ... 
EndProcedure 
; ... 
Procedure CheckParameter()
	Protected NumPara.l, Filesize.l
	
	NumPara = CountProgramParameters()
	
	If NumPara > 0
		FileIn$ = ProgramParameter(0)    ;  // <<== Der erste Parameter muss in Anführungszeichen, wenn Leerzeichen enthalten sind, sonst..... 
	; ... 
	If NumPara > 1 ; Wenn zweiter Parameter, dann erstelle eine Includedatei mit den Declares...
		FileOut$ = ProgramParameter(1)  ; // <<=== Landet der Rest hier ....
	; ... 

EndProcedure 
; ... 
Mostly running PureBasic <latest stable version and current alpha/beta> (x64) on Windows 11 Home
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: PB IDE-Werkzeug: Declare-Filter generiert ProcDeclarationen

Beitrag von Kurzer »

PB_Rainer hat geschrieben: 07.02.2022 14:10 Ich würde aber die Automatik mit Include-Filename.pbi ;%DECLARFILE gerne benutzen. Allerdings wird mir da immer ein Fehler angezeigt, nur der beginn des Pfades "Ungültige Datei angegeben >> C:\Program" danach "Ausagebedatei konnte nicht erstellt werden >> Pfad mit Sourcefilename" danach ein kleines, schmales fenster, zu schnell weg um zu lesen
Moin Rainer, ist zwar schon ne Weile her aber ich frage trotzdem mal nach. Hast du es hinbekommen?
Ich nutze das Tool ständig und kann das Problem nicht nachvollziehen.

Das "kleine schmale Fenster" deutet übrigens darauf hin, dass der Automatikmodus ausgeführt wird. Im Automatikmodus wird dieses Fenster für eine Sekunde oder so angezeigt, damit man ein Feedback von Declare-Filter bekommt. Wichtige Infos stehen da nicht drin... nur "Deklarationen werden erstellt..."

Ich habe übrigens "%FILE" in den Argumenten der Werkzeugeinstellung stehen (inkl. der Hochkommas).
Das sieht stark danach aus, dass bei dir die Hochkommas fehlen (oder irgend etwas dafür sorgt, dass die Kapselung durch ebendiese fehlschlägt).

Noch ein Hinweis, falls du Declare-Filter in einem PB Projekt mit mehreren Dateien benutzt:
Der Automatikmodus wird nur aktiviert, wenn du Declare-Filter aufrufst, während der Hauptsourcecode im PB Editor sichtbar ist. Dort sollten dann auch alle relevanten Include-Anweisungen des Projekts enthalten sein.

Angenommen das Projekt besteht aus folgenden Dateien:
SuperCalculator.pb <-- Hauptcode, der unter Menüpunkt [Compiler / Compiler Optionen] als Eingabe Quellcode deklariert ist
Math.pbi
GUI.pbi
Settings.pbi

Dann müssen die Include-Anweisungen für das Projekt alle in SuperCalculator.pb stehen (zumindest, wenn Declare-Filter im Silent-Modus dafür Deklarationen erstellen soll). Außerdem muss dieser TAB (SuperCalculator.pb) im PB Editor vorne/aktiv sein, wenn du Declare-Filter startest (z.B. mittels Hotkey). Andernfalls wird Declare-Filter immer im GUI-Modus starten und das große Fenster anzeigen.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Antworten