ProcedureDLL innerhalb einer EXE aufrufen

Für allgemeine Fragen zur Programmierung mit PureBasic.
ShadowTurtle
Beiträge: 114
Registriert: 11.09.2004 07:58
Wohnort: Mannheim
Kontaktdaten:

ProcedureDLL innerhalb einer EXE aufrufen

Beitrag von ShadowTurtle »

Moin

Bevor ich anfange eine Libary (bzw. meine Libary /:-> ) als DLL zu schreiben, wollte ich noch etwas wichtiges wissen.

Wenn ich ProcedureDLL verwende, kann diese Prozedur dann auch in einer EXE (im Code selber) verwendet werden?

Weil dann bräuchte ich nicht zu fast jeder Procedure gleich eine ProcedureDLL zu schreiben, nur um die Prozedur auszuführen.

cu
ShadowTurtle
Beiträge: 114
Registriert: 11.09.2004 07:58
Wohnort: Mannheim
Kontaktdaten:

Beitrag von ShadowTurtle »

Hmpf. :(

Eine Antwort wäre Lieb! :roll:
Benutzeravatar
grapy
Beiträge: 108
Registriert: 09.09.2004 09:05

Beitrag von grapy »

Ehrlich gesagt versteh ich auch nicht so genau, wo das Problem liegt?

Gruß grapy :mrgreen:
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Ich weiß jetzt nicht ob das geht was du machen möchtest, aber falls nicht könntest du folgendes machen:

Code: Alles auswählen

#CompileDLL = #True

CompilerIf #CompileDLL
  ProcedureDLL SoUndSo()
CompilerElse
  Procedure SoUndSo()
CompilerEndif
  ;Code
  ;mehr Code
Tipp: Bei jaPBe kannst du in der neuesten Version die dadurch etwas durcheinandergebrachte automatische Einrückung mittels den Kommentaren ;> ;< und ;= wieder zurechtrücken.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Rings
Beiträge: 977
Registriert: 29.08.2004 08:48

Beitrag von Rings »

Du kannst ohne weiteres ProcedureDLL auch innerhalb einer Exe verwenden. So teste ich immer erst alles in einer Exe aus bevor ich dann eine Library/DLL mache.
Aufzupassen hast du nur bei den INIT-Funktionen.
Rings hat geschrieben:ziert sich nich beim zitieren
ShadowTurtle
Beiträge: 114
Registriert: 11.09.2004 07:58
Wohnort: Mannheim
Kontaktdaten:

Beitrag von ShadowTurtle »

Danke für die Antworten!

Welche große unterschiede stecken eigentlich in ProcedureDLL/Procedure?

Sollte ich meine Libary gleich so handhaben als würde ich eine DLL Programmieren? Da kann ich dann ja gleich die PB Linkedlists vergessen, oder?

Immerhin gibt es da ja gewisse Regeln die man einhalten muss.

Rings: Dann wäre es für mich ja besser, wenn ich ProcedureDLL für Public Funktionen nutze, und nur Procedure für Private Funktionen. Also so wie in eine art Klasse. Danke für die aufklärung.

freedimension: Mein Editor rückt nichts automatisch ein. Das erledige ich schön selbst. Wenn mein Code dann wirklich mal unlesbar sein sollte, dann habe ich ja immer noch ein Tool das alles Richtig einrückt.

Aber trotzdem Danke für deinen Tip. :allright:
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

ShadowTurtle hat geschrieben:Da kann ich dann ja gleich die PB Linkedlists vergessen, oder?
Wieso? Das NewList wandert in die AttachProcess() Procedure und alle
läuft. . .
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
ShadowTurtle
Beiträge: 114
Registriert: 11.09.2004 07:58
Wohnort: Mannheim
Kontaktdaten:

Beitrag von ShadowTurtle »

Ui. Achja. Das führt mich ja zur nächsten Frage.

Wird AttachProcess() auch in einer exe ausgeführt? Eigentlich ist das ja egal, wozu gibts denn sonst Kompiler Direktiven!?

Aber ich würde gerne auf Direktiven verzichten.

cu
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Nein, eine Exe hat keine Attachprocess() Procedure von Hause aus, du
kannst aber einfach, wenn die Build eine Exe ist, die Attachprocess() von
Hand aufrufen.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
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

Beitrag von NicTheQuick »

Nein, AttachProcess() wird nicht automatisch bei einer EXE ausgeführt.
Antworten