AGB  ·  Datenschutz  ·  Impressum  







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

Invalid cursor declaration

Ein Thema von stalkingwolf · begonnen am 18. Apr 2017 · letzter Beitrag vom 19. Apr 2017
Antwort Antwort
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#1

Invalid cursor declaration

  Alt 18. Apr 2017, 15:32
Datenbank: Firebird • Version: 2.5 • Zugriff über: TIBSQL
Moin.

das Problem hatten wir in Delphi 6 behoben in dem wir uns selber um den Cursor gekümmert haben.
D.h die .dcu von TIBSQL gelöscht, die .pas in unseren Suchpfad gepackt und den Teil selber abgeändert.

Nun sind wir auf Delphi XE4 bzw. Berlin umgestiegen.
Nun haben wir den Fehler wieder in unseren Programmen.
Aktuell benutzen wir das TIBSQL von Delphi. Ich habe gesehen das sie was an dem Teil geändert haben, aber scheinbar kann der Cursor dennoch 2x vergeben werden.

Nun wollte ich das gleiche in XE4 machen was ich auch schon in Delphi 6 gemacht habe, doch das lässt Delphi scheinbar nicht mehr zu.
Wenn ich die .dcu lösche und die .pas selber übersetze, erhalte ich eine Fehlermeldung bei der nächsten Unit das diese mit einer anderen Version der TIBSQL.dcu übersetzt wurde.

2 Fragen dazu.

1.) Wie kann ich dies evtl umgehen?
2.) Bekomme ich den Cursor Fehler evtl anderes behoben?

Ich habe in der Delphi 6 Version den Cursor um den getTickCount erweitert. Damit war gewährleistet das ich nie den selber Cursorname erhalte.

Gruß Sven
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Invalid cursor declaration

  Alt 18. Apr 2017, 17:01
Einen Fehler dieser Art
Zitat:
bei der nächsten Unit das diese mit einer anderen Version der TIBSQL.dcu übersetzt wurde.
habe ich bisher immer nur wegbekommen, indem ich alle DCUs gelöscht habe, zu denen Quelltexte vorhanden waren.

Da Du die Meldung ja (vermutlich) zu einer konkreten Unit bekommst, kannst Du natürlich auch gezielt deren DCU löschen und dann neu probieren.

Ggfls. musst Du aber weiterhin mit dem Auftreten dieses Fehlers rechnen und dann jeweils die DCU zur nächsten bemängelten Unit löschen.

Das kann schonmal ein paar Runden so weitergehen, lässt sich aber eigentlich immer beheben, es sei denn, man hat irgendwann 'ne Unit dabei, zu der man nur die DCU, aber keine Quelltexte, hat.
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#3

AW: Invalid cursor declaration

  Alt 19. Apr 2017, 13:21
das wären quasi alle IB Komponenten.
Werde ich wohl demnächst in den sauren Apfel beißen und dort einmal durchgehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

AW: Invalid cursor declaration

  Alt 19. Apr 2017, 14:10
das wären quasi alle IB Komponenten.
Und Alles, was die dann verwendet und die dann auch wieder und so weiter.
Dann vielleicht auch noch ein paar Design-Time- und Runtime-Packages neu kompilieren, wenn die IDE das auch verwendet und dann noch Packages/Komponenten von Drittanbietern und ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Invalid cursor declaration

  Alt 19. Apr 2017, 14:35
Der von himitsu beschriebene Rattenschwanz ist leider nicht auszuschließen.
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#6

AW: Invalid cursor declaration

  Alt 19. Apr 2017, 14:49
Und es gibt dafür keine Compiler Einstellung das ihm das egal ist?
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Invalid cursor declaration

  Alt 19. Apr 2017, 15:01
Das Problem liegt eher im Suchpfad.

Sind dort nur die DCUs enthalten, aber nicht die Quelltexte, so hat der Compiler (egal mit welchem Schalter) keine Chance. Er kennt halt nur die DCUs.

Ab und an hilft es bei dieser Fehlermeldung auch, einmal alles neu erstellen zu lassen. Dann sollte eigentlich jede Quelltextdatei neu kompiliert werden, unabhängig davon, ob sie nun seit dem letzten Kompilieren verändert wurde oder nicht.

Eventuell auch einfach mal die Packages, die die entsprechenden Komponenten enthalten, neu kompilieren, dann sollte zumindest das Gröbste neu gemacht worden sein.

Habe mir irgendwann angewöhnt, für alle Projekten nur einen Ausgabepfad für die DCUs einzurichten.
Dort liegt dann zwar immens viel Zeug drinne und es ist nicht unbedingt übersichtlich, aber man kann das Verzeichnis dann einfach leeren. Beim nächsten Kompilieren werden die jeweils benötigten DCUs erstellt, und der Fehler ist (meist) weg.
  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 04:57 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