eigene Interfaces?

Anfängerfragen zum Programmieren mit PureBasic.
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

eigene Interfaces?

Beitrag von es_91 »

Hi.

Kann ich mit PureBasic ein durch ein Interface geladenes Objekt selbst programmieren oder brauche ich dafür C++?

(Ich habe also eine DLL wo ein Objekt mit Methoden oder Funktionen drin sein soll, diese DLL öffne ich mit OpenLibrary und binde die Methoden/Funktionen mit dem Interface-Bausatz ein.)

Falls ich dafür C++ brauche, könnte mir jemand ein Beispiel in C++ posten?

Ich danke für _alle_ Antworten!

Cya.
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: eigene Interfaces?

Beitrag von NicTheQuick »

Weißt du denn wie man ganz normal Interfaces erstellt und benutzt? Also ganz ohne den DLL-Kram drum herum? Falls nein, kann ich mal auf mein Video verweisen: [PB] Strukturen und Interfaces
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: eigene Interfaces?

Beitrag von es_91 »

Dafür gibt's ein Danke! :bounce:

Hoffentlich bekomme ich das Video noch über meine 64k Leitung... :roll:
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: eigene Interfaces?

Beitrag von NicTheQuick »

es_91 hat geschrieben:Hoffentlich bekomme ich das Video noch über meine 64k Leitung... :roll:
Du kannst es dir auch in 480p angucken. Ich habe nach kurzer Zeit die Schrift größer gemacht, damit man es auch ohne Vollbildmodus gut erkennen kann.
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: eigene Interfaces?

Beitrag von es_91 »

Hmm ja ich bin froh, dass es mit 144p einigermaßen gut läuft aber du beschreibst ja auch alles, was du da so machst von daher sollte es hinterher kaum noch offene Fragen geben. :allright:
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: eigene Interfaces?

Beitrag von NicTheQuick »

Darf ich fragen, wo du ungefähr wohnt, dass du nur 64 kB/s hast? Weil geldtechnisch sollte ja wohl nicht das Problem sein, oder?
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: eigene Interfaces?

Beitrag von es_91 »

Ich bin jetzt in Glauchau. Internetanschluss haben die hier nicht wirklich (nur geringfügig schneller, 240kbit/s und das für 2 Euro am Tag) in der Einrichtung in der ich sitze (Krankenhaus) und da bleibt mir nur mein Surfstick dessen Monatskontingent aufgebraucht ist. :doh:

Ich lad mir's wenn ich am Samstag wieder Zuhause bin, bis dahin lassen wir das Thema ruhen. :)
Benutzeravatar
_sivizius
Beiträge: 98
Registriert: 23.10.2013 15:21

Re: eigene Interfaces?

Beitrag von _sivizius »

btw. c++ oder Purebasic sind Programmiersprachen die halt code erzeugen, Interfaces, Strukturen und Objekte im allgemeinen sind hingegen datenstrukturen. so gesehen kannst du jede Datenstruktur, jedes Objekt, etc mit jeder beliebigen Programmiersprache nutzen :P
Außerdem: Siehe Hilfe und siehe dieses tolle Video
es_91
Beiträge: 410
Registriert: 25.01.2011 04:48

Re: eigene Interfaces?

Beitrag von es_91 »

Hey, vielen Dank! Jetzt weiß ich, wie man Interfaces zu Methoden einsetzt. Danke dafür!

/EDIT: Für Alle, die das Video auch nicht angucken können, hier mal ein Quelltext, der durch das Video entstanden ist, aber von mir programmiert wurde:

Code: Alles auswählen

Interface _Page
  PrintN(Text$)
  Print(Text$)
EndInterface

Structure Page
  v_Table.i
EndStructure

Procedure NewPage()
  
  Define *this.Page = AllocateMemory(SizeOf(Page))
  
  If *this
    *this\v_Table = ?v_TablePage
  Else
    ProcedureReturn #False
  EndIf
  
  ProcedureReturn *this
  
EndProcedure

Procedure PagePrintN(*Page.Page, Text$)
  PrintN(Text$)
EndProcedure

Procedure PagePrint(*Page.Page, Text$)
  Print(Text$)
EndProcedure

DataSection
  v_TablePage:
  Data.i @PagePrintN(), @PagePrint()
EndDataSection

Define *Page._Page = NewPage()

OpenConsole()

*Page\PrintN("Hallo, Welt")

Input()
Antworten