Toon posts:

[delphi] inhoud field wordt vergeten ??

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi,

probleempje met delphi, probeer het ff kort uit te leggen:
ik heb een public field FReferentienr in unit1. nu wordt er een waarde toegekent aan deze field. hierna gaat het programma naar een andere unit, later komt hij weer terug en hij weet niet meer de inhoud van FReferentienr. hij wordt nergens ge-unset ofzo... hoe kan dit ??

avb

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:43
post eens wat code.

https://fgheysels.github.io/


Verwijderd

Topicstarter
de field:

public
{ Public declarations }
FReferentienr: string;

hier wordt er een waarde aan gegeven, functie wordt vanuit andere unit aangeroepen:

function TpakbonForm.VoegFactuurToe(leverdatum, factuurdatum: string): String;
begin
with datamodule1 do
begin
Factuur.Open;
Factuur.Append;
Factuur.FieldByName('leverdatum').AsString := leverdatum;
Factuur.FieldByName('factuurdatum').AsString := factuurdatum;
Factuur.Post;
FReferentienr := Factuur.FieldByName('referentienr').AsString;
Factuur.Close;
end;
result := FReferentienr;
end;

en dan als hij later hier komt isie hem vergeten:

procedure TpakbonForm.VoegFactuuronderdeelToe(Kaartnr, drukvelnr, ordernr,
aantal, prijs, isrest, aantaldozen: string);
begin
if FReferentienr <> '' then
begin
with datamodule1.Factuuronderdelen do
begin
Open;
Append;
FieldByName('referentienr').AsString := FReferentienr;
FieldByName('kaartnr').AsString := kaartnr;
FieldByName('drukvelnr').AsString := drukvelnr;
FieldByName('ordernr').AsString := ordernr;
FieldByName('aantal').AsString := aantal;
FieldByName('prijs').AsString := prijs;
FieldByName('isrest').AsString := isrest;
Post;
Close;
end;
end;
end;

Verwijderd

Misschien onwaarschijnlijk, maar niet toevallig vergeten te includen dat ie nog wel ergens in unit2 gedeclared staat?

[edit]
Er klopt hier iets niet.
code:
1
2
3
public
{ Public declarations }
FReferentienr: string;

Als ie gedeclareerd staat in een public... gedeelte :) dan is ie onderdeel van een class gedeclareerd waarschijnlijk.
code:
1
2
var
FReferentieNr: string;

zou in die unit moeten staan.

Verwijderd

Topicstarter
ik heb hem nu als private field en zoals hiervoor gezegd als var geprobeerd, maar hij doet het nog steeds niet ..

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:43
Maak je misschien een ander object van die form ofzo waardoor die variable natuurlijk een andere waarde krijgt.

https://fgheysels.github.io/


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08-09 20:49

Creepy

Tactical Espionage Splatterer

Weet je zeker dat referentienummer wordt gevuld??

Je vult hem zelf niet ingevuld in de DB, dus het is een autonummering veld?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1