![]() |
Dlls
Hallo!
Ich habe schon mehrere Tutorials zu dll durchgearbeitet und ich hab eigentlich auch alles verstanden. Nur ich bekomme es einfach nicht gebacken ne procedure, die in der dll steht, vom Form aus aufzurufen. Vielleicht kann mir ja jemand ein kleines Bsp. zeigen, wie ich z.B. Button1.caption über die dll verändern kann???!! Danke!!!!!!!!!!! Max |
Re: Dlls
Bitte lerne zuerst das Funktionen und Prozeduren eines Objekts Methoden heissen.
Sie sind im Prinzip das gleiche wie Elemente eines Records. Ohne die Variable vom Record-Typ kannst du keine Elemente eines Records ansprechen. Das ist fuer Methoden genau das Gleiche. |
Re: Dlls
Wie hast du es denn bisher versucht?
Und welche hast du gelesen? das auch schon: ![]() (Wenn du sie verstanden hast, aber es nicht schaffst sie anzuwenden, dann können sie ja nicht so gut gewesen sein.) |
Re: Dlls
das hast du gesagt!
ok, du kannst ja als "Wiedergutmachung" mir ja ein kleines Bsp. zeigen, wie ich z.B. Button1.caption über die dll verändern kann!!! ;)) Max |
Re: Dlls
Zeig doch mal Code, wie du es bisher probiert hast und was nicht geht. Wenn du mit Strings arbeitest, mußt du ShareMem einbinden, das weißt du?
|
Re: Dlls
so:
Delphi-Quellcode:
library Project1; { Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt- Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String- Informationen als PChar- oder ShortString-Parameter übergeben. } uses SysUtils, Classes; procedure TForm.Button1;stdcall begin Form1.Button1.caption := 'asd'; end; {$R *.res} begin end. |
Re: Dlls
Wie lange hast du dafür gebraucht? Ich benötige alleine schon 10 Sekunden, um den Kommentar zu lesen. :roll:
wo ist die Klassen Definition zu Tform? Woher soll deine DLL Form1 kennen? Hast du gelesen, was der Kommentar zu Strings sagt? |
Re: Dlls
Also muss ich da auch noach
TForm1 = class(TForm) hinschreiben oder wie? |
Re: Dlls
Nun ja. Also ich würde sagen, beschäftige dich erstmal mit den Grundlagen, bevor du in die Windows Programmierung, speziell DLL's, einsteigst. Das verlangt nämlich schon einiges an Verständnis. Und deine Antwort zeigt mir, dass du noch erhebliche Lücken in den OOP Grundlagen hast und wie die VCL aufgebaut ist und funktioniert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz