Umstieg von DELPHI - ERROR identifier idents no member

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

Umstieg von DELPHI - ERROR identifier idents no member

Beitragvon Cuci » 16. Sep 2016, 13:05 Umstieg von DELPHI - ERROR identifier idents no member

Hi, ich bekomme folgende Fehlermeldung:

identifier idents no member "DaMod1.Qy_mieterName"
identifier idents no member "DaMod1.Qy_mieterVorname"
usw, für alle Zeilen, in denen VALUE steht, komplette Prozedur nachstehend
in Delphi gabs da kein Problem

Code: Alles auswählen
procedure Tbody.DBNavigatorMieterPost;
var
    BM_Mieter  : TBookmark;
    nam, vorn  : String;
begin
    DaMod1.Qy_mieter.Open;
    DaMod1.Qy_mieter.Edit;
 
    nam :=  DaMod1.Qy_mieterName.Value;                 { Datenfeld NameVorname automatisch füllen }
    vorn := DaMod1.Qy_mieterVorname.Value;
    DaMod1.Qy_mieterNameVorname.Value := nam + vorn;
 
    DaMod1.Qy_mieterDatum.Value  :=  date;
    DaMod1.Qy_mieterGeschl.Value := DaMod1.Qy_anredeGeschlec.Value;
 
    BM_Mieter := DaMod1.Qy_mieter.GetBookmark;
 
    DaMod1.Qy_mieter.DisableControls;
 
    DaMod1.Qy_mieter.Post;
    DaMod1.Qy_mieter.Open;
 
    DaMod1.Qy_mieter.EnableControls;
end;
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon theo » 16. Sep 2016, 16:55 Re: Umstieg von DELPHI - ERROR identifier idents no member

Habe den Code mal in den Highlighter gesetzt.

Bisschen schwierig zu antworten, wenn man nicht weiß was " DaMod1" sein soll, findest du nicht?
theo
 
Beiträge: 8146
Registriert: 11. Sep 2006, 18:01

Beitragvon wp_xyz » 16. Sep 2016, 17:54 Re: Umstieg von DELPHI - ERROR identifier idents no member

Ich nehme an, das DaMod1 ist ein Datamodule, und DaMod1.Qy_mietername ist das persistente Feld "Name" der Abfrage Qy_mieter. Du schreibst, dass dein Code bei Delphi kein Problem macht. Dann hast du es offenbar von Delphi aus nach Lazarus konvertiert. Bist du sicher, dass die persistenten Felder in Lazarus angekommen sind? Wenn nicht, versuche sie direkt in Lazarus nochmals zu erzeugen. Oder probiere es ohne persistente Felder:
Code: Alles auswählen
var
  Fname: TField;
  Fvorname: TField;
  ....
begin
  Fname := DaMod1.Qy_mieter.FieldByName('Name');
  Fvorname := DaMod1.Qy_mieter.FieldByName('Vorname');
  nam :=  Fname.AsString:
  vornam := Fvorname.AsString;
  ...
wp_xyz
 
Beiträge: 2837
Registriert: 8. Apr 2011, 08:01

Beitragvon Cuci » 16. Sep 2016, 20:23 Re: Umstieg von DELPHI - ERROR identifier idents no member

Hallo wp_xyz, Deine Annahmen sind goldrichtig . . . Ich möchte allerdings nicht mehr Code als notwendig erzeugen (persistente Felder nochmals erzeugen).

Nachdem die Übernahme meines Programms in Lazarus zu viele Fehlermeldungen und Inkompatibilitäten erzeugte sah ich mich gezwungen, das Programm von Grund auf neu aufzubauen. Ich habe die vorhandene MySQL-DB ordentlich in das Datenmodul DaMod1 übernommen und sämtliche Tabellen mit Datenfeldern schon wieder sichtbar angelegt. Das funktioniert. Jetzt habe ich als nächsten Schritt den Ablauf beim Anlegen neuer Datensätze usw. in Angriff genommen und stolpere in diesen Error, der nur die Zeilen mit ....VALUE betrifft.

. . . ich habe deinen Code ausprobiert und es hat funktioniert. Das hat mich auf die Idee gebracht, mal in die Qy_mieter zu schauen. Doppelklick - und keine Felder zu sehen. Alle Felder reinkopiert und nun geht auch mein alter Code. Treffer. :D

Also mach ich den Thread mal zu. Merci beaucoup ! - Reimt sich sogar . . .
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon Cuci » 17. Sep 2016, 10:33 Re: Umstieg von DELPHI - ERROR identifier idents no member

. . . zu früh gefreut. Die veränderten Daten werden nicht gespeichert. Wenn ich in MySQL Daten ändere werden sie problemlos von Lazarus übernommen. Nur was im Programm geändert wird, wird nicht von der Datenbank übernommen. Ich speichere mit 'post'. Siehe Quelltext im Thread oben.
Wer weiß was dazu? :?:
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon af0815 » 17. Sep 2016, 11:52 Re: Umstieg von DELPHI - ERROR identifier idents no member

Siehe http://wiki.freepascal.org/Working_With_TSQLQuery Absatz Cached Updates.

Zitat:
Code: Alles auswählen
The TSQLQuery component caches all updates. That is, the updates are not sent immediately to the database, but are kept in memory till the ApplyUpdates method is called. At that point, the updates will be transformed to SQL update statements, and will be applied to the database. If you do not call ApplyUpdates, the database will not be updated with the local changes.


Auch http://wiki.freepascal.org/SqlDBHowto Absatz 'How to change data in a table?'
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3605
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon Cuci » 17. Sep 2016, 15:22 Re: Umstieg von DELPHI - ERROR identifier idents no member

. . . und es funzt jetzt tatsächlich. Muchas gracias. :mrgreen:
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon Cuci » 29. Sep 2016, 20:06 Re: Umstieg von DELPHI - ERROR identifier idents no member

. . . ich hätte ja gerne ein neues Thema eröffnet, finde aber den richtigen Butten nicht mehr . . .

Ich will ZEOS installieren und komme mit der Beschreibung in der WIKI nicht klar:

Besorgen Sie sich einen SVN Client (esvn, kdesvn, etc.) ______________________ kdesvn habe ich installiert
Erstellen Sie ein Verzeichnis zeosdbo, gehen in das Verzeichnis und starten_______wo soll ich das Verzeichnis erstellen ?
svn checkout http://svn.code.sf.net/p/zeoslib/code-0 ... __________?

danke im Voraus !
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon u-boot » 29. Sep 2016, 20:46 Re: Umstieg von DELPHI - ERROR identifier idents no member

Cuci hat geschrieben:Erstellen Sie ein Verzeichnis zeosdbo, gehen in das Verzeichnis und starten_______wo soll ich das Verzeichnis erstellen ?


ist nicht vorgeschrieben, somit also frei wählbar
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
u-boot
 
Beiträge: 297
Registriert: 9. Apr 2009, 09:10
Wohnort: 785..
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon Cuci » 29. Sep 2016, 22:13 Re: Umstieg von DELPHI - ERROR identifier idents no member

Ich habe das Verzeichnis erstellt und den Checkout angestossen. Die URL scheint aber fehlerhaft zu sein.

http://svn.code.sf.net/p/zeoslib/code-0 ... es/testing
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon theo » 29. Sep 2016, 22:57 Re: Umstieg von DELPHI - ERROR identifier idents no member

theo
 
Beiträge: 8146
Registriert: 11. Sep 2006, 18:01

Beitragvon Cuci » 30. Sep 2016, 13:39 Re: Umstieg von DELPHI - ERROR identifier idents no member

. . . alles paletti, die ZEOS-Komponenten sind installiert.

Vielen Dank für die Unterstützung.

. . . aber leider gibt es noch ein Problem: Wenn ich eine ZQuery aktivieren will, verabschiedet sich Lazarus ohne Kommentar.
. . . und wenn ich es kompiliere, gibt es Ferlermeldungen:
Note: Duplicate unit "ZSybaseToken" in "zcore 7.1", orphaned ppu "/home/harald/Lazarus/FeVerm/lib/packages/lazarus/lib/x86_64-linux/ZSybaseToken.ppu"
Note: Duplicate unit "ZSybaseToken" in "zparsesql 7.1", ppu="/home/harald/Lazarus/FeVerm/lib/packages/lazarus/lib/x86_64-linux/ZSybaseToken.ppu", source="/home/harald/Lazarus/FeVerm/lib/src/parsesql/ZSybaseToken.pas"
Note: Duplicate unit "ZSybaseAnalyser" in "zcore 7.1", orphaned ppu "/home/harald/Lazarus/FeVerm/lib/packages/lazarus/lib/x86_64-linux/ZSybaseAnalyser.ppu"
Note: Duplicate unit "ZSybaseAnalyser" in "zparsesql 7.1", ppu="/home/harald/Lazarus/FeVerm/lib/packages/lazarus/lib/x86_64-linux/ZSybaseAnalyser.ppu", source="/home/harald/Lazarus/FeVerm/lib/src/parsesql/ZSybaseAnalyser.pas"

So geht es weiter. Sämtliche Units sind doppelt vorhanden.

Ich hatte die ZEOS-Komponenten schon mal gelöscht, aber bei der zweiten Installation passierte das gleiche.
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon Cuci » 1. Okt 2016, 12:05 Re: Umstieg von DELPHI - ERROR identifier idents no member

Ich fand jetzt im ZEOSLIB-Forum folgende Lösung:

t seems this is changed Lazarus behaviour. On my system (Win7, FPC 2.6, Lazarus trunk) I changed the unit output path (-FU) to a separate path per package:
lib\zcore\$(TargetCPU)-$(TargetOS)
lib\zparsesql\$(TargetCPU)-$(TargetOS)
lib\zplain\$(TargetCPU)-$(TargetOS)
lib\zdbc\$(TargetCPU)-$(TargetOS)
lib\zcomponent\$(TargetCPU)-$(TargetOS)

This resolves the situation for me.

Ich fand auch schon im Lazarus, wo man Pfade einstellen kann, aber die Einstellung für ein spezielles Package habe ich nicht gefunden.
Cuci
 
Beiträge: 47
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

• Themenende •

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste

porpoises-institution
accuracy-worried