Avatar billede winston-smith Nybegynder
03. december 2003 - 14:11 Der er 4 kommentarer

BC4 + NTVDM + Printer

Gamle værktøjer!
Jeg har et produkt skrevet i BC4 som crasher min XP maskine når jeg prøver at instantiere et TPrinter object og den defaulte printer er en netprinter men computeren samtidigt ikke er på nettet. Ja den crasher ikke hele XP, men kun den NTVDM (det er 16 bit) som den kører i.
Er der nogle de kender til dette?

Rune
Avatar billede segmose Nybegynder
03. december 2003 - 16:51 #1
Dør programmet eller hele NTVDM?

hvis du kan køre med exceptions prøv følgende der hvor problemet optræder:

BOOL ok;
TPrinter *ny = NULL; // din var.
try {
  ny = new TPrinter;
  ok = true;
} catch (...) {
  ok = false;
}
if (ok) {
  // det gik godt
} else {
  // det gik knap så godt
}
Avatar billede winston-smith Nybegynder
03. december 2003 - 17:04 #2
Hele NTCDM bliver dør. Fejel er et sted i Borlands OWL code. Jeg har prøvet med din try/catch men den fanger åbenbart ikke Application Errors. Dette er hvad der bliver tilbagemeldt:
The instruction at "0x77f580db" referenced memory at "0x054c00a2". The memory could not be "written". Click ok to terminate program

Rune
Avatar billede segmose Nybegynder
03. december 2003 - 17:48 #3
Jeg tror ikke jeg kan hjælpe dig videre, du kunne evt. checke om du er på net og hvis ikke sætte default printer til noget andet???

Har du kilde teksten til owl? så kan du prøve at includere dem i dit project så du kan debugge inde i owl.

// forsøg om det crasher i sidste linie.
  Data = new TPrintDialog::TData;
  memset(Data, 0, sizeof(TPrintDialog::TData));
  Data->Flags = PD_ALLPAGES | PD_COLLATE;
  Data->FromPage = Data->ToPage = -1;
//  SETCLEAR(Data->Flags, 0, PD_RETURNDC);
  TPrintDialog printDialog(0, *Data);
  printDialog.GetDefaultPrinter();

crasher dette også?
Avatar billede winston-smith Nybegynder
04. december 2003 - 11:04 #4
Jeg har fået tracet det ned til en fejl i Windows PrintDlg funktion. Den er erstattet af PrintDlgEx i nyere versioner.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Cognizant Technology Solutions Denmark ApS

Energy Trading Project Manager – Consulting

Cognizant Technology Solutions Denmark ApS

Data Architect

Danske Spil A/S

Senior IT-projektleder