Procedure vorhanden?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Olafmagne
Beiträge: 140
Registriert: 07.12.2017 17:30
Wohnort: Sete/Frankreich

Procedure vorhanden?

Beitrag von Olafmagne »

Hallo,
Ich habe eine Frage bezüglich Proceduren:
Ist es möglich, zu prüfen, ob eine Procedure vorhanden ist oder nicht?
Ich denke an sowas wie :
PseudoCode::

if procedurename then . . .

es darf aber kein < RunTime > sein, da hier schon evtl schon eine Procedure gleichen Namens (in einem anderen Modul) sein kann

Olaf
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus
OS=Linux Zorin
PureBasic 6.xx
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Procedure vorhanden?

Beitrag von NicTheQuick »

Das geht mit Defined:

Code: Alles auswählen

Procedure hallo()
EndProcedure

Debug Defined(hallo, #PB_Procedure)
Debug Defined(ciao, #PB_Procedure)
Ist aber in der Regel nur sinnvoll mit CompilerIf.
Benutzeravatar
Olafmagne
Beiträge: 140
Registriert: 07.12.2017 17:30
Wohnort: Sete/Frankreich

Re: Procedure vorhanden?

Beitrag von Olafmagne »

Ich möchte damit abfragen, ob eine Procedure in einem Modul vorhanden ist,
wenn in einem Anderen die gleiche implementiert ist.
Der Grund ist OOP und zum überschreiben möchte ich in der BaseClass zu überschreibende Proc's Runtime machen(Adr) und in der erbenden Class abfragen, ob "Runtime" vorhanden und wenn ja wird die frazgliche Proc überschrieben, sonst normal in die vTable gesetzt.
Ich muss also nur wissen ob vorhanden, alles andere ist kein Problem und dank deinem Tip sollte es jetzt funktionieren.

Merci, Danke
Olaf
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus
OS=Linux Zorin
PureBasic 6.xx
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Procedure vorhanden?

Beitrag von NicTheQuick »

Bastelst du dir deinen eigenen OOP-Mechanismus?
Benutzeravatar
Olafmagne
Beiträge: 140
Registriert: 07.12.2017 17:30
Wohnort: Sete/Frankreich

Re: Procedure vorhanden?

Beitrag von Olafmagne »

Yep!
Ich habe Die Vorlage hier aus dem Forum( Weis gerade den Beitrag nicht mehr)
und versuche, das ganze zu einem etwas mehr universellem zu machen,
also die Functionen, die das Ganze initalisieren, vor allem die Vererbung möchte ich etwas mehr automatisieren:
BaseClass:
Alle überschreibbaren Methoden sind <Runtime>, sonst Nicht!
Es könnene also nur in der Runtime"Liste" befindenden Function's überschschrieben werden!
Alle anderen BaseFunc's sind 'Tabu', und MÜSSEN übernommen werden
' Static' ,'Abstract',. . .
(genaue bezeichnung ???)
SupClass:
Nach übernahme der vTable(base), Jede Function der SupClass überprüfung, ob eine gleiche baseFunc Runtime ist, wenn ja,
überschreiben, sonst MUSS die baseFunction genutzt werden und die supFunc ist "draussen"
;_____
So, jetzt habe ich erst mal obligatorich zu überschreibende Functionen!
Fehlt noch das Vacultative, muss da noch einen 'Schalter' finden
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus
OS=Linux Zorin
PureBasic 6.xx
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Procedure vorhanden?

Beitrag von NicTheQuick »

Ja, ich hab auch mal sowas gemacht, deswegen war ich neugierig: Schon wieder OOP? Jo!
Benutzeravatar
Olafmagne
Beiträge: 140
Registriert: 07.12.2017 17:30
Wohnort: Sete/Frankreich

Re: Procedure vorhanden?

Beitrag von Olafmagne »

Mir geht's weniger ums haben, auch wenn es dann genutzt wird, sondern eher ums machen!
Es selbst geschafft zu habe ist der Antrieb.
Heraus zu finden, wie man etwas erreicht und welche "Tricks" ich anwenden kann oder muss und dann das laufende Programm zu sehen ist einfach, nun befriedigend.
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus
OS=Linux Zorin
PureBasic 6.xx
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Procedure vorhanden?

Beitrag von NicTheQuick »

Kann ich nachvollziehen. Viel Spaß!
Benutzeravatar
Olafmagne
Beiträge: 140
Registriert: 07.12.2017 17:30
Wohnort: Sete/Frankreich

Re: Procedure vorhanden?

Beitrag von Olafmagne »

Danke, werde ich haben( neben den vielen Verzweiflungen(an meinem Verstand) und alles Sch..sse)
Unsinnige Anweisungen von Seiten des Chef's lösen grundsätzlich ein "Syntax Error" bei mir aus
OS=Linux Zorin
PureBasic 6.xx
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: Procedure vorhanden?

Beitrag von jacdelad »

Wirst du das Ergebnis für uns posten? Ich könnte bestimmt noch so einiges davon lernen.
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Antworten