AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Denkfehler in Dll und Komponente

Ein Thema von ATS3788 · begonnen am 21. Dez 2012 · letzter Beitrag vom 22. Dez 2012
Antwort Antwort
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#1

Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 15:11
Denkfehler in Dll und Komponente

Delphi-Quellcode:

function BaseInit(FilePath : String; var h : HMODULE) : boolean;
  begin
   h := LoadLibraryEx(PChar(FilePath) , 0, 0);
Wenn ich das Objekt ( Komponente ) mit
xxx := txxx.create(self);
erstelle, wird die Library ohne Probleme initialisiert.

Wenn ich es mit der Komponente versuche kommt
der Fehler das die DLL nicht auf dem System Initialisiert wurde.

Martin Michael

PS
ist das verständlich ?
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 15:14
ist das verständlich ?
Nö,

Was denn für eine Komponente? Du kannst dir ruhig Zeit lassen beim Fragen stellen und es ausführlich machen. Die Welt geht nicht unter.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
blauweiss

Registriert seit: 19. Jun 2007
142 Beiträge
 
#3

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 15:31
ist das verständlich ?
Nö,

Was denn für eine Komponente? Du kannst dir ruhig Zeit lassen beim Fragen stellen und es ausführlich machen. Die Welt geht nicht unter.
made my day
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#4

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 16:05
OK
Dachte ich mir , nochmal
Ich schreibe mir eine Komponente einen Wrapper um Bass.dll usw.
Das klappt auch echt gut, wenn ich diese mit

_Bass : T_Bass.Create(self) einbinde. Das ist aber nicht die Idee einer Komponente.

Nur wenn ich das Ding auf das TForm klatsche, wird
die DLL nicht geladen, weil
 if not (csDesigning in ComponentState) then begin benutzt. Dann bekomme ich zwar keine Fehlermeldung und könnte die DLL
nachträglich initialisieren. Nur sind dann die Vorteile einer Komponente von dannen.

Meine Frage lautet also. Kann ich die DLL noch auf dem Entwurfsform
initialisieren oder geht das nicht.

Ist das verständlich
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 16:11
Willst du die DLL schon in der IDE verwenden (als Komponente auf Formular gelegt) muss die DLL für die IDE findbar sein.
Wenn du sie nur ins Projektverzeichnis kopierst wird die IDE diese DLL nicht finden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 16:48
Ich schreibe mir eine Komponente einen Wrapper um Bass.dll usw.
Das klappt auch echt gut, wenn ich diese mit

_Bass : T_Bass.Create(self) einbinde. Das ist aber nicht die Idee einer Komponente.

Nur wenn ich das Ding auf das TForm klatsche, wird
die DLL nicht geladen, weil
 if not (csDesigning in ComponentState) then begin benutzt. Dann bekomme ich zwar keine Fehlermeldung und könnte die DLL
nachträglich initialisieren. Nur sind dann die Vorteile einer Komponente von dannen.
Mach es doch so wie bei den verschiedenen Connection-Komponenten: Setze ein Active-Property, das bei Bedarf die Initialisierung vornimmt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#7

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 17:09
Genau
Bernhard Geyer
nur geht das und wenn wie ?
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#8

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 17:12
Dieser
Uwe Raabe
einfach und Genial.
Da zermürbe ich mir den Kopf
und misshandele "Create"
und komme nicht auf so was.

Danke.
Martin MIchael
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Denkfehler in Dll und Komponente

  Alt 21. Dez 2012, 19:46
Genau
Bernhard Geyer
nur geht das und wenn wie ?
Am einfachsten die DLL nach System32 (bzw. SysWOW64) kopieren
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#10

AW: Denkfehler in Dll und Komponente

  Alt 22. Dez 2012, 09:27
Hallo
Danke Uwe Raabe
hat funktioniert
Martin MIchael
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz