Warum kann Prototype nicht innerhalb einer Prozedur verwende

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Kurzer
Beiträge: 1621
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Warum kann Prototype nicht innerhalb einer Prozedur verwende

Beitrag von Kurzer »

Hallo,

gibt es einen Grund, weshalb man die Prototype Anweisung nicht innerhalb einer Procedure verwenden darf?

Wenn ich das tue und z.B. 'Prototype.i PrintWindow(hwnd, hdc, flags)' in eine Prozedur lege, bekomme ich folgende Meldung:

Code: Alles auswählen

[23:07:00] [COMPILER] Zeile 234: Kann keine Prozedur innerhalb einer weiteren Prozedur definieren.
Ist das ein bug oder ist nur die Fehlermeldung missverständlich oder fehlt mir hier einfach nur Hintergrundwissen?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Warum kann Prototype nicht innerhalb einer Prozedur verw

Beitrag von ts-soft »

Ist mir noch gar nicht aufgefallen, aber das liegt wohl mehr daran, das es keinen Sinn macht.

Prototype ist eine Compileranweisung und keine Variable. Die "geprototypede" Variable kann dann in einer Procedure declariert werden.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kurzer
Beiträge: 1621
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Warum kann Prototype nicht innerhalb einer Prozedur verw

Beitrag von Kurzer »

Oh, alles klar. Dann ist ja alles i.O. :)
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Antworten