AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi GetFieldNames von DataSet liefert in DLL Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

GetFieldNames von DataSet liefert in DLL Fehler

Ein Thema von CalganX · begonnen am 27. Okt 2004 · letzter Beitrag vom 29. Okt 2004
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

GetFieldNames von DataSet liefert in DLL Fehler

  Alt 27. Okt 2004, 18:37
Hi,
ich habe folgendes Problem: wenn ich die Methode GetFieldNames aufrufe funktioniert das eigentlich relativ problemlos. Jetzt habe ich das ganze aber in eine DLL packe, dann bekomme ich den Fehler
Zitat:
---------------------------
phost
---------------------------
TFieldList kann nicht zu TStringList zugewiesen werden.
---------------------------
OK
---------------------------
Jetzt habe ich mir die entsprechende Funktion umprogrammiert, dass jedes Element durchgegangen wird und dann der Liste hinzugefügt wird. Allerdings hat selbst das nicht funktioniert.

Woran kann das liegen bzw. was kann man da machen?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 27. Okt 2004, 18:52
Hallo Chak,

sind die beiden Listen innerhalb der DLL definiert oder kommen sie von außen? Wie genau sieht die Zuweisung aus, ist es eine Zuweisung mit dem Zuweisungsoperaotor oder mittels der Assign Methode?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 27. Okt 2004, 18:57
TStringList basiert auf Strings, diese können zwischen DLLs und Anwendung nur ausgetauscht werden, wenn beide DLL und Anwendung als erstes die Unit ShareMem in der Projekt-Uses Klausel haben.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 28. Okt 2004, 09:15
Hi,
auch wenn alles von außerhalb kommt?
Folgendes: ich habe in meiner DLL einen EventHandler. Darin gibt es eine Methode, die die Klasse TExportDataSet heißt. Innerhalb dieser Klasse (die in einer eigenen Unit liegt, die von der DLL unabhängig ist) wird intern diese Funktion GetFieldNames verwendet.
Ein Austausch zwischen Anwendung und DLL findet also eigentlich nicht statt.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 28. Okt 2004, 16:27
Zitat von Chakotay1308:
auch wenn alles von außerhalb kommt?
Solange Strings, egal wie, hin und/oder her gehen zw. EXE und DLL bzw. DLL und DLL müssen alle beteiligten ShareMem nutzen, ja.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 28. Okt 2004, 16:41
Hi,
*hoil* och nö... Das macht mir jetzt das ganze System kaputt. Aber gut, es wird nicht der Untergang des Projekts sein (zumal es nicht meins ist *g*).

Danke,
Chris
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 29. Okt 2004, 10:03
Hi,
habe das jetzt gemacht und alles angepasst: ShareMem als erste Unit in der Bibliothek (.dpr) und als erste Unit in der Hostanwendung (.dpr). Der Fehler tritt aber immer noch auf.

Woran kann das liegen?

Chris
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: GetFieldNames von DataSet liefert in DLL Fehler

  Alt 29. Okt 2004, 11:28
Hi,
nach anderthalb (schreibt man das eigentlich so?) Stunden rumraten habe ich es einfach zu Fuß gemacht:
Delphi-Quellcode:
  for i:=0 to FDataSet.FieldList.Count-1 do begin
    sTemp.Add(FDataSet.FieldList.Strings[i]);
  end;
Sieht zwar unschön aus, ist aber eigentlich genau das selbe, was Delphi intern macht. Und außerdem funktioniert's jetzt.

Chris
  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 23:11 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