V9.2
This commit is contained in:
+371
@@ -0,0 +1,371 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* ADDISPLOG.INC 4.06 *}
|
||||||
|
{*********************************************************}
|
||||||
|
{* String resources for the dispatcher log *}
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
|
||||||
|
{ Logging - It is unlikely that these should change, these strings are }
|
||||||
|
{ used in the dispatcher log. Translating them into another language }
|
||||||
|
{ could make it difficult for TurboPower Tech Support to decipher it. }
|
||||||
|
{ Dispatch type }
|
||||||
|
sdtNone {15001} = 'No event';
|
||||||
|
sdtDispatch {15002} = 'Dispatch';
|
||||||
|
sdtTrigger {15003} = 'Trigger';
|
||||||
|
sdtError {15004} = 'Error';
|
||||||
|
sdtThread {15005} = 'Thread';
|
||||||
|
sdtTriggerAlloc {15006} = 'TrigAllc';
|
||||||
|
sdtTriggerDispose {15007} = 'TrigDisp';
|
||||||
|
sdtTriggerHandlerAlloc {15008} = 'TrgHdAlc';
|
||||||
|
sdtTriggerHandlerDispose {15009} = 'TrgHdDsp';
|
||||||
|
sdtTriggerDataChange {15010} = 'TrDatChg';
|
||||||
|
sdtTelnet {15011} = 'Telnet';
|
||||||
|
sdtFax {15012} = 'Fax';
|
||||||
|
sdtXModem {15013} = 'XModem';
|
||||||
|
sdtYModem {15014} = 'YModem';
|
||||||
|
sdtZModem {15015} = 'ZModem';
|
||||||
|
sdtKermit {15016} = 'Kermit';
|
||||||
|
sdtAscii {15017} = 'Ascii';
|
||||||
|
sdtBPlus {15018} = 'BPlus';
|
||||||
|
sdtPacket {15019} = 'Packet';
|
||||||
|
sdtUser {15020} = 'User';
|
||||||
|
sdtScript {15021} = 'Script';
|
||||||
|
{ Dispatch subtype }
|
||||||
|
sdstNone {15100} = '';
|
||||||
|
sdstReadCom {15101} = 'ReadCom';
|
||||||
|
sdstWriteCom {15102} = 'WriteCom';
|
||||||
|
sdstLineStatus {15103} = 'Line status';
|
||||||
|
sdstModemStatus {15104} = 'Modem status';
|
||||||
|
sdstAvail {15105} = 'Avail';
|
||||||
|
sdstTimer {15106} = 'Timer';
|
||||||
|
sdstData {15107} = 'Data';
|
||||||
|
sdstStatus {15108} = 'Status';
|
||||||
|
sdstThreadStart {15109} = 'Start';
|
||||||
|
sdstThreadExit {15110} = 'Exit';
|
||||||
|
sdstThreadSleep {15111} = 'Sleep';
|
||||||
|
sdstThreadWake {15112} = 'Wake';
|
||||||
|
sdstDataTrigger {15113} = 'Data';
|
||||||
|
sdstTimerTrigger {15114} = 'Timer';
|
||||||
|
sdstStatusTrigger {15115} = 'Status';
|
||||||
|
sdstAvailTrigger {15116} = 'Avail';
|
||||||
|
sdstWndHandler {15117} = 'Window';
|
||||||
|
sdstProcHandler {15118} = 'Procedure';
|
||||||
|
sdstEventHandler {15119} = 'Method';
|
||||||
|
sdstSWill {15120} = 'Sent WILL';
|
||||||
|
sdstSWont {15121} = 'Sent WON''T';
|
||||||
|
sdstSDo {15122} = 'Sent DO';
|
||||||
|
sdstSDont {15123} = 'Sent DON''T';
|
||||||
|
sdstRWill {15124} = 'Recv WILL';
|
||||||
|
sdstRWont {15125} = 'Recv WON''T';
|
||||||
|
sdstRDo {15126} = 'Recv DO';
|
||||||
|
sdstRDont {15127} = 'Recv DON''T';
|
||||||
|
sdstCommand {15128} = 'Command';
|
||||||
|
sdstSTerm {15129} = 'Sent Term';
|
||||||
|
sdsttfNone {15130} = 'tfNone';
|
||||||
|
sdsttfGetEntry {15131} = 'tfGetEntry';
|
||||||
|
sdsttfInit {15132} = 'tfInit';
|
||||||
|
sdsttf1Init1 {15133} = 'tf1Init1';
|
||||||
|
sdsttf2Init1 {15134} = 'tf2Init1';
|
||||||
|
sdsttf2Init1A {15135} = 'tf2Init1A';
|
||||||
|
sdsttf2Init1B {15136} = 'tf2Init1B';
|
||||||
|
sdsttf2Init2 {15137} = 'tf2Init2';
|
||||||
|
sdsttf2Init3 {15138} = 'tf2Init3';
|
||||||
|
sdsttfDial {15139} = 'tfDial';
|
||||||
|
sdsttfRetryWait {15140} = 'tfRetryWait';
|
||||||
|
sdsttf1Connect {15141} = 'tf1Connect';
|
||||||
|
sdsttf1SendTSI {15142} = 'tf1SendTSI';
|
||||||
|
sdsttf1TSIResponse {15143} = 'tf1TSIRespns';
|
||||||
|
sdsttf1DCSResponse {15144} = 'tf1DCSRspns';
|
||||||
|
sdsttf1TrainStart {15145} = 'tf1TrainStrt';
|
||||||
|
sdsttf1TrainFinish {15146} = 'tf1TrainFnsh';
|
||||||
|
sdsttf1WaitCFR {15147} = 'tf1WaitCFR';
|
||||||
|
sdsttf1WaitPageConnect {15148} = 'tf1WaitPgCn';
|
||||||
|
sdsttf2Connect {15149} = 'tf2Connect';
|
||||||
|
sdsttf2GetParams {15150} = 'tf2GetParams';
|
||||||
|
sdsttfWaitXon {15151} = 'tfWaitXon';
|
||||||
|
sdsttfWaitFreeHeader {15152} = 'tfWaitFrHead';
|
||||||
|
sdsttfSendPageHeader {15153} = 'tfSndPgeHdr';
|
||||||
|
sdsttfOpenCover {15154} = 'tfOpenCover';
|
||||||
|
sdsttfSendCover {15155} = 'tfSendCover';
|
||||||
|
sdsttfPrepPage {15156} = 'tfPrepPage';
|
||||||
|
sdsttfSendPage {15157} = 'tfSendPage';
|
||||||
|
sdsttfDrainPage {15158} = 'tfDrainPage';
|
||||||
|
sdsttf1PageEnd {15159} = 'tf1PageEnd';
|
||||||
|
sdsttf1PrepareEOP {15160} = 'tf1PrepEOP';
|
||||||
|
sdsttf1SendEOP {15161} = 'tf1SendEOP';
|
||||||
|
sdsttf1WaitMPS {15162} = 'tf1WaitMPS';
|
||||||
|
sdsttf1WaitEOP {15163} = 'tf1WaitEOP';
|
||||||
|
sdsttf1WaitMCF {15164} = 'tf1WaitMCF';
|
||||||
|
sdsttf1SendDCN {15165} = 'tf1SendDCN';
|
||||||
|
sdsttf1Hangup {15166} = 'tf1Hangup';
|
||||||
|
sdsttf1WaitHangup {15167} = 'tf1WaitHngp';
|
||||||
|
sdsttf2SendEOP {15168} = 'tf2SendEOP';
|
||||||
|
sdsttf2WaitFPTS {15169} = 'tf2WaitFPTS';
|
||||||
|
sdsttf2WaitFET {15170} = 'tf2WaitFET';
|
||||||
|
sdsttf2WaitPageOK {15171} = 'tf2WaitPgOK';
|
||||||
|
sdsttf2SendNewParams {15172} = 'tf2SndNwPrm';
|
||||||
|
sdsttf2NextPage {15173} = 'tf2NextPage';
|
||||||
|
sdsttf20CheckPage {15174} = 'tf20ChckPg';
|
||||||
|
sdsttfClose {15175} = 'tfClose';
|
||||||
|
sdsttfCompleteOK {15176} = 'tfCompleteOK';
|
||||||
|
sdsttfAbort {15177} = 'tfAbort';
|
||||||
|
sdsttfDone {15178} = 'tfDone';
|
||||||
|
sdstrfNone {15179} = 'rfNone';
|
||||||
|
sdstrfInit {15180} = 'rfInit';
|
||||||
|
sdstrf1Init1 {15181} = 'rf1Init1';
|
||||||
|
sdstrf2Init1 {15182} = 'rf2Init1';
|
||||||
|
sdstrf2Init1A {15183} = 'rf2Init1A';
|
||||||
|
sdstrf2Init1B {15184} = 'rf2Init1B';
|
||||||
|
sdstrf2Init2 {15185} = 'rf2Init2';
|
||||||
|
sdstrf2Init3 {15186} = 'rf2Init3';
|
||||||
|
sdstrfWaiting {15187} = 'rfWaiting';
|
||||||
|
sdstrfAnswer {15188} = 'rfAnswer';
|
||||||
|
sdstrf1SendCSI {15189} = 'rf1SendCSI';
|
||||||
|
sdstrf1SendDIS {15190} = 'rf1SendDIS';
|
||||||
|
sdstrf1CollectFrames {15191} = 'rf1CollFrms';
|
||||||
|
sdstrf1CollectRetry1 {15192} = 'rf1CollRtry1';
|
||||||
|
sdstrf1CollectRetry2 {15193} = 'rf1CollRtry2';
|
||||||
|
sdstrf1StartTrain {15194} = 'rf1StrtTrn';
|
||||||
|
sdstrf1CollectTrain {15195} = 'rf1CollTrn';
|
||||||
|
sdstrf1Timeout {15196} = 'rf1Timeout';
|
||||||
|
sdstrf1Retrain {15197} = 'rf1Retrain';
|
||||||
|
sdstrf1FinishTrain {15198} = 'rf1FinTrn';
|
||||||
|
sdstrf1SendCFR {15199} = 'rf1SendCFR';
|
||||||
|
sdstrf1WaitPageConnect {15200} = 'rf1WtPgCnnct';
|
||||||
|
sdstrf2ValidConnect {15201} = 'rf2ValCnnct';
|
||||||
|
sdstrf2GetSenderID {15202} = 'rf2GtSndID';
|
||||||
|
sdstrf2GetConnect {15203} = 'rf2GtCnnct';
|
||||||
|
sdstrfStartPage {15204} = 'rfStartPage';
|
||||||
|
sdstrfGetPageData {15205} = 'rfGtPgDta';
|
||||||
|
sdstrf1FinishPage {15206} = 'rf1FinPage';
|
||||||
|
sdstrf1WaitEOP {15207} = 'rf1WaitEOP';
|
||||||
|
sdstrf1WritePage {15208} = 'rf1WritePage';
|
||||||
|
sdstrf1SendMCF {15209} = 'rf1SendMCF';
|
||||||
|
sdstrf1WaitDCN {15210} = 'rf1WaitDCN';
|
||||||
|
sdstrf1WaitHangup {15211} = 'rf1WtHngp';
|
||||||
|
sdstrf2GetPageResult {15212} = 'rf2GtPgRslt';
|
||||||
|
sdstrf2GetFHNG {15213} = 'rf2GetFHNG';
|
||||||
|
sdstrfComplete {15214} = 'rfComplete';
|
||||||
|
sdstrfAbort {15215} = 'rfAbort';
|
||||||
|
sdstrfDone {15216} = 'rfDone';
|
||||||
|
sdsttxInitial {15217} = 'txInitial';
|
||||||
|
sdsttxHandshake {15218} = 'txHandshake';
|
||||||
|
sdsttxGetBlock {15219} = 'txGetBlock';
|
||||||
|
sdsttxWaitFreeSpace {15220} = 'txWtFreeSpc';
|
||||||
|
sdsttxSendBlock {15221} = 'txSendBlock';
|
||||||
|
sdsttxDraining {15222} = 'txDraining';
|
||||||
|
sdsttxReplyPending {15223} = 'txRplyPnding';
|
||||||
|
sdsttxEndDrain {15224} = 'txEndDrain';
|
||||||
|
sdsttxFirstEndOfTransmit {15225} = 'txFirstEOT';
|
||||||
|
sdsttxRestEndOfTransmit {15226} = 'txRestEOT';
|
||||||
|
sdsttxEotReply {15227} = 'txEotReply';
|
||||||
|
sdsttxFinished {15228} = 'txFinished';
|
||||||
|
sdsttxDone {15229} = 'txDone';
|
||||||
|
sdstrxInitial {15230} = 'rxInitial';
|
||||||
|
sdstrxWaitForHSReply {15231} = 'rxWtFrHSRply';
|
||||||
|
sdstrxWaitForBlockStart {15232} = 'rxWtFrBlStrt';
|
||||||
|
sdstrxCollectBlock {15233} = 'rxCollBlock';
|
||||||
|
sdstrxProcessBlock {15234} = 'rxProcBlck';
|
||||||
|
sdstrxFinishedSkip {15235} = 'rxFinSkip';
|
||||||
|
sdstrxFinished {15236} = 'rxFinished';
|
||||||
|
sdstrxDone {15237} = 'rxDone';
|
||||||
|
sdsttyInitial {15238} = 'tyInitial';
|
||||||
|
sdsttyHandshake {15239} = 'tyHandshake';
|
||||||
|
sdsttyGetFileName {15240} = 'tyGetFlName';
|
||||||
|
sdsttySendFileName {15241} = 'tySndFlName';
|
||||||
|
sdsttyDraining {15242} = 'tyDraining';
|
||||||
|
sdsttyReplyPending {15243} = 'tyRplyPndng';
|
||||||
|
sdsttyPrepXmodem {15244} = 'tyPrpXmdm';
|
||||||
|
sdsttySendXmodem {15245} = 'tySndXmdm';
|
||||||
|
sdsttyFinished {15246} = 'tyFinishd';
|
||||||
|
sdsttyFinishDrain {15247} = 'tyFinDrain';
|
||||||
|
sdsttyDone {15248} = 'tyDone';
|
||||||
|
sdstryInitial {15249} = 'ryInitial';
|
||||||
|
sdstryDelay {15250} = 'ryDelay';
|
||||||
|
sdstryWaitForHSReply {15251} = 'ryWtFrHSRply';
|
||||||
|
sdstryWaitForBlockStart {15252} = 'ryWtFBlkStrt';
|
||||||
|
sdstryCollectBlock {15253} = 'ryCollBlck';
|
||||||
|
sdstryProcessBlock {15254} = 'ryProcBlck';
|
||||||
|
sdstryOpenFile {15255} = 'ryOpenFile';
|
||||||
|
sdstryPrepXmodem {15256} = 'ryPrepXmdm';
|
||||||
|
sdstryReceiveXmodem {15257} = 'ryRcvXmodem';
|
||||||
|
sdstryFinished {15258} = 'ryFinished';
|
||||||
|
sdstryDone {15259} = 'ryDone';
|
||||||
|
sdsttzInitial {15260} = 'tzInitial';
|
||||||
|
sdsttzHandshake {15261} = 'tzHandshake';
|
||||||
|
sdsttzGetFile {15262} = 'tzGetFile';
|
||||||
|
sdsttzSendFile {15263} = 'tzSendFile';
|
||||||
|
sdsttzCheckFile {15264} = 'tzCheckFile';
|
||||||
|
sdsttzStartData {15265} = 'tzStartData';
|
||||||
|
sdsttzEscapeData {15266} = 'tzEscapeData';
|
||||||
|
sdsttzSendData {15267} = 'tzSendData';
|
||||||
|
sdsttzWaitAck {15268} = 'tzWaitAck';
|
||||||
|
sdsttzSendEof {15269} = 'tzSendEof';
|
||||||
|
sdsttzDrainEof {15270} = 'tzDrainEof';
|
||||||
|
sdsttzCheckEof {15271} = 'tzCheckEof';
|
||||||
|
sdsttzSendFinish {15272} = 'tzSendFinish';
|
||||||
|
sdsttzCheckFinish {15273} = 'tzChkFinish';
|
||||||
|
sdsttzError {15274} = 'tzError';
|
||||||
|
sdsttzCleanup {15275} = 'tzCleanup';
|
||||||
|
sdsttzDone {15276} = 'tzDone';
|
||||||
|
sdstrzRqstFile {15277} = 'rzRqstFile';
|
||||||
|
sdstrzDelay {15278} = 'rzDelay';
|
||||||
|
sdstrzWaitFile {15279} = 'rzWaitFile';
|
||||||
|
sdstrzCollectFile {15280} = 'rzCollFile';
|
||||||
|
sdstrzSendInit {15281} = 'rzSendInit';
|
||||||
|
sdstrzSendBlockPrep {15282} = 'rzSndBlkPrp';
|
||||||
|
sdstrzSendBlock {15283} = 'rzSendBlock';
|
||||||
|
sdstrzSync {15284} = 'rzSync';
|
||||||
|
sdstrzStartFile {15285} = 'rzStartFile';
|
||||||
|
sdstrzStartData {15286} = 'rzStartData';
|
||||||
|
sdstrzCollectData {15287} = 'rzCollData';
|
||||||
|
sdstrzGotData {15288} = 'rzGotData';
|
||||||
|
sdstrzWaitEof {15289} = 'rzWaitEof';
|
||||||
|
sdstrzEndOfFile {15290} = 'rzEndOfFile';
|
||||||
|
sdstrzSendFinish {15291} = 'rzSendFinish';
|
||||||
|
sdstrzCollectFinish {15292} = 'rzCollFin';
|
||||||
|
sdstrzError {15293} = 'rzError';
|
||||||
|
sdstrzWaitCancel {15294} = 'rzWaitCancel';
|
||||||
|
sdstrzCleanup {15295} = 'rzCleanup';
|
||||||
|
sdstrzDone {15296} = 'rzDone';
|
||||||
|
sdsttkInit {15297} = 'tkInit';
|
||||||
|
sdsttkInitReply {15298} = 'tkInitReply';
|
||||||
|
sdsttkCollectInit {15299} = 'tkCollInit';
|
||||||
|
sdsttkOpenFile {15300} = 'tkOpenFile';
|
||||||
|
sdsttkSendFile {15301} = 'tkSendFile';
|
||||||
|
sdsttkFileReply {15302} = 'tkFileReply';
|
||||||
|
sdsttkCollectFile {15303} = 'tkCollFile';
|
||||||
|
sdsttkCheckTable {15304} = 'tkCheckTable';
|
||||||
|
sdsttkSendData {15305} = 'tkSendData';
|
||||||
|
sdsttkBlockReply {15306} = 'tkBlockReply';
|
||||||
|
sdsttkCollectBlock {15307} = 'tkCollBlock';
|
||||||
|
sdsttkSendEof {15308} = 'tkSendEof';
|
||||||
|
sdsttkEofReply {15309} = 'tkEofReply';
|
||||||
|
sdsttkCollectEof {15310} = 'tkCollectEof';
|
||||||
|
sdsttkSendBreak {15311} = 'tkSendBreak';
|
||||||
|
sdsttkBreakReply {15312} = 'tkBreakReply';
|
||||||
|
sdsttkCollectBreak {15313} = 'tkCollBreak';
|
||||||
|
sdsttkComplete {15314} = 'tkComplete';
|
||||||
|
sdsttkWaitCancel {15315} = 'tkWaitCancel';
|
||||||
|
sdsttkError {15316} = 'tkError';
|
||||||
|
sdsttkDone {15317} = 'tkDone';
|
||||||
|
sdstrkInit {15318} = 'rkInit';
|
||||||
|
sdstrkGetInit {15319} = 'rkGetInit';
|
||||||
|
sdstrkCollectInit {15320} = 'rkCollInit';
|
||||||
|
sdstrkGetFile {15321} = 'rkGetFile';
|
||||||
|
sdstrkCollectFile {15322} = 'rkCollFile';
|
||||||
|
sdstrkGetData {15323} = 'rkGetData';
|
||||||
|
sdstrkCollectData {15324} = 'rkCollData';
|
||||||
|
sdstrkComplete {15325} = 'rkComplete';
|
||||||
|
sdstrkWaitCancel {15326} = 'rkWaitCancel';
|
||||||
|
sdstrkError {15327} = 'rkError';
|
||||||
|
sdstrkDone {15328} = 'rkDone';
|
||||||
|
sdsttaInitial {15329} = 'taInitial';
|
||||||
|
sdsttaGetBlock {15330} = 'taGetBlock';
|
||||||
|
sdsttaWaitFreeSpace {15331} = 'taWaitFrSpc';
|
||||||
|
sdsttaSendBlock {15332} = 'taSendBlock';
|
||||||
|
sdsttaSendDelay {15333} = 'taSendDelay';
|
||||||
|
sdsttaFinishDrain {15334} = 'taFinDrain';
|
||||||
|
sdsttaFinished {15335} = 'taFinished';
|
||||||
|
sdsttaDone {15336} = 'taDone';
|
||||||
|
sdstraInitial {15337} = 'raInitial';
|
||||||
|
sdstraCollectBlock {15338} = 'raCollBlock';
|
||||||
|
sdstraProcessBlock {15339} = 'raProcBlock';
|
||||||
|
sdstraFinished {15340} = 'raFinished';
|
||||||
|
sdstraDone {15341} = 'raDone';
|
||||||
|
sdstEnable {15342} = 'Enable';
|
||||||
|
sdstDisable {15343} = 'Disable';
|
||||||
|
sdstStringPacket {15344} = 'StringPacket';
|
||||||
|
sdstSizePacket {15345} = 'SizePacket';
|
||||||
|
sdstPacketTimeout {15346} = 'PcktTimeout';
|
||||||
|
sdstStartStr {15347} = 'StartStr';
|
||||||
|
sdstEndStr {15348} = 'EndStr';
|
||||||
|
sdstIdle {15349} = 'Idle';
|
||||||
|
sdstWaiting {15350} = 'Waiting';
|
||||||
|
sdstCollecting {15351} = 'Collecting';
|
||||||
|
sdstThreadStatusQueued {15352} = 'Status Queued'; // SWB
|
||||||
|
sdstThreadDataQueued {15353} = 'Data Queued'; // SWB
|
||||||
|
sdstThreadDataWritten {15354} = 'Data Written'; // SWB
|
||||||
|
sdsttzSInit {15355} = 'ZSInit'; // SWB
|
||||||
|
sdsttzCheckSInit {15356} = 'CheckSInit'; // SWB
|
||||||
|
{log headers}
|
||||||
|
sdispHeader {15501} = 'Time Type SubType Data OtherData';
|
||||||
|
sdispHeaderLine {15502} = '-------- -------- ------------ -------- ---------';
|
||||||
|
{modem tags}
|
||||||
|
sdispmdmtagDCTS {15601} = 'DCTS ';
|
||||||
|
sdispmdmtagDDSR {15602} = 'DDSR ';
|
||||||
|
sdispmdmtagTERI {15603} = 'TERI ';
|
||||||
|
sdispmdmtagDDCD {15604} = 'DDCD ';
|
||||||
|
sdispmdmtagCTS {15605} = 'CTS ';
|
||||||
|
sdispmdmtagDSR {15606} = 'DSR ';
|
||||||
|
sdispmdmtagRI {15607} = 'RI ';
|
||||||
|
sdispmdmtagDCD {15608} = 'DCD ';
|
||||||
|
{Telnet tags}
|
||||||
|
sdispTelnetBinary {15700} = 'Binary';
|
||||||
|
sdispTelnetEcho {15701} = 'Echo';
|
||||||
|
sdispTelnetReconnection {15702} = 'Reconnection';
|
||||||
|
sdispTelnetSupressGoAhead {15703} = 'Supress Go Ahead';
|
||||||
|
sdispTelnetApproxMsgSize {15704} = 'Approx Msg Size';
|
||||||
|
sdispTelnetStatus {15705} = 'Status';
|
||||||
|
sdispTelnetTimingMark {15706} = 'Timing Mark';
|
||||||
|
sdispTelnetRemoteTransEcho {15707} = 'Remote Trans & Echo';
|
||||||
|
sdispTelnetOutputLineWidth {15708} = 'Output Line Width';
|
||||||
|
sdispTelnetOutputPageSize {15709} = 'Output Page Size';
|
||||||
|
sdispTelnetOutputCRDisp {15710} = 'Output C/R Disp';
|
||||||
|
sdispTelnetOutputHorzTabs {15711} = 'Output Horz Tabs';
|
||||||
|
sdispTelnetOutputHorzTabDisp {15712} = 'Output Horz Tab Disp';
|
||||||
|
sdispTelnetOutputFFDisp {15713} = 'Output FF Disp';
|
||||||
|
sdispTelnetOutputVertTabs {15714} = 'Output Vert Tabs';
|
||||||
|
sdispTelnetOutputVertTabDisp {15715} = 'Output Vert Tab Disp';
|
||||||
|
sdispTelnetOutputLinefeedDisp {15716} = 'Output Linefeed Disp';
|
||||||
|
sdispTelnetExtendedASCII {15717} = 'Extended ASCII';
|
||||||
|
sdispTelnetLogout {15718} = 'Logout';
|
||||||
|
sdispTelnetByteMacro {15719} = 'Byte Macro';
|
||||||
|
sdispTelnetDataEntryTerminal {15720} = 'Data Entry Terminal';
|
||||||
|
sdispTelnetSUPDUP {15721} = 'SUPDUP';
|
||||||
|
sdispTelnetSUPDUPOutput {15722} = 'SUPDUP Output';
|
||||||
|
sdispTelnetSendLocation {15723} = 'Send Location';
|
||||||
|
sdispTelnetTerminalType {15724} = 'Terminal Type';
|
||||||
|
sdispTelnetEndofRecord {15725} = 'End of Record';
|
||||||
|
sdispTelnetTACACSUserID {15726} = 'TACACS User ID';
|
||||||
|
sdispTelnetOutputMarking {15727} = 'Output Marking';
|
||||||
|
sdispTelnetTerminalLocNum {15728} = 'Terminal Loc Num';
|
||||||
|
sdispTelnetTelnet3270Regime {15729} = 'Telnet3270 Regime';
|
||||||
|
sdispTelnetX3PAD {15730} = 'X.3 PAD';
|
||||||
|
sdispTelnetNegWindowSize {15731} = 'Neg Window Size';
|
||||||
|
sdispTelnetTerminalSpeed {15732} = 'Terminal Speed';
|
||||||
|
sdispTelnetFlowControl {15733} = 'Flow Control';
|
||||||
|
sdispTelnetLineMode {15734} = 'LineMode';
|
||||||
|
sdispTelnetXDisplayLocation {15735} = 'X Display Location';
|
||||||
|
sdispTelnetEnvironment {15736} = 'Environment';
|
||||||
|
sdispTelnetAuthentication {15737} = 'Authentication';
|
||||||
|
sdispTelnetTelnetcode38 {15738} = 'Telnet code 38';
|
||||||
|
sdispTelnetNewEnvironment {15739} = 'New Environment';
|
||||||
|
sdispTelnetTelnetcode40 {15740} = 'Telnet code 40';
|
||||||
|
sdispTelnetTelnetcode41 {15741} = 'Telnet code 41';
|
||||||
|
sdispTelnetCharacterSet {15742} = 'Character Set';
|
||||||
+833
@@ -0,0 +1,833 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* ADEXCEPT.FRA 4.04 *}
|
||||||
|
{* French string resources for errors and status *}
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
(*
|
||||||
|
All string resources have been moved into this resourcestring file in
|
||||||
|
APRO 4.03. The APRO String Resource Manager is still available, but
|
||||||
|
not used by default. Disable the {$DEFINE UseResourceStrings} define
|
||||||
|
in AwDefine.inc to revert back to the string resource manager if desired.
|
||||||
|
AdExcept.inc contains English strings
|
||||||
|
AdExcept.fra contains French strings
|
||||||
|
AdExcept.deu contains German strings
|
||||||
|
AdExcept.esp contains Spanish strings
|
||||||
|
AdExcept.sw contains Swedish strings
|
||||||
|
AdExcept.nor constains Norwegian strings
|
||||||
|
AdExcept.dk contains Danish strings
|
||||||
|
|
||||||
|
Where a translation was not available, the English version was used.
|
||||||
|
If you have a translation for the strings, please send them to us
|
||||||
|
through the mailsupport@turbopower.com email address, or through
|
||||||
|
the turbopower.public.third-party.internationalization newsgroup.
|
||||||
|
We will include the translation in the next release of APRO. Thanks.
|
||||||
|
*)
|
||||||
|
|
||||||
|
resourcestring
|
||||||
|
{ Numbers in the comments correspond to the ErrorCode passed in many of our }
|
||||||
|
{ events. Strings without the numbers do not have corresponding ErrorCodes }
|
||||||
|
{No error}
|
||||||
|
secOK { 0} = 'OK';
|
||||||
|
|
||||||
|
{egDOS}
|
||||||
|
secFileNotFound { 2} = 'Fichier introuvable';
|
||||||
|
secPathNotFound { 3} = 'Chemin introuvable';
|
||||||
|
secTooManyFiles { 4} = 'Trop de fichiers ouverts';
|
||||||
|
secAccessDenied { 5} = 'Accès au fichier refusé';
|
||||||
|
secInvalidHandle { 6} = 'Handle de fichier incorrect';
|
||||||
|
secOutOfMemory { 8} = 'Mémoire insuffisante';
|
||||||
|
secInvalidDrive { 15} = 'Lecteur incorrect';
|
||||||
|
secNoMoreFiles { 18} = 'Plus de fichiers';
|
||||||
|
secDiskRead { 100} = 'Tentative de lire au-delà de la fin de fichier';
|
||||||
|
secDiskFull { 101} = 'Disque plein';
|
||||||
|
secNotAssigned { 102} = 'Fichier/périphérique non assigné';
|
||||||
|
secNotOpen { 103} = 'Fichier/périphérique non ouvert';
|
||||||
|
secNotOpenInput { 104} = 'Fichier/périphérique non ouvert en entrée';
|
||||||
|
secNotOpenOutput { 105} = 'Fichier/périphérique non ouvert en sortie';
|
||||||
|
secWriteProtected { 150} = 'Le disque est protégé en écriture';
|
||||||
|
secUnknownUnit { 151} = 'Unité de disque inconnue';
|
||||||
|
secDriveNotReady { 152} = 'Lecteur non prêt';
|
||||||
|
secUnknownCommand { 153} = 'Commande inconnue';
|
||||||
|
secCrcError { 154} = 'Erreur de données';
|
||||||
|
secBadStructLen { 155} = 'Mauvaise longueur de structure de requête';
|
||||||
|
secSeekError { 156} = 'Erreur de recherche';
|
||||||
|
secUnknownMedia { 157} = 'Type de support inconnu';
|
||||||
|
secSectorNotFound { 158} = 'Secteur du disque introuvable';
|
||||||
|
secOutOfPaper { 159} = 'Plus de papier';
|
||||||
|
secDeviceWrite { 160} = 'Erreur d''écriture sur le périphérique';
|
||||||
|
secDeviceRead { 161} = 'Erreur de lecture sur le périphérique';
|
||||||
|
secHardwareFailure { 162} = 'Echec général';
|
||||||
|
|
||||||
|
{egGeneral}
|
||||||
|
secBadHandle {1001} = 'Mauvais handle passé à la fonction de communication';
|
||||||
|
secBadArgument {1002} = 'Mauvais argument passé à la fonction';
|
||||||
|
secGotQuitMsg {1003} = 'Reçu un message d''arrêt';
|
||||||
|
secBufferTooBig {1004} = 'Tampon du terminal buffer supérieur à 65521';
|
||||||
|
secPortNotAssigned {1005} = 'Composant ComPort non assigné';
|
||||||
|
secInternal {1006} = 'Erreur interne lors de la création de la classe de fenêtre';
|
||||||
|
secModemNotAssigned {1007} = 'Composant Modem non assigné';
|
||||||
|
secPhonebookNotAssigned {1008} = 'Composant répertoire non assigné';
|
||||||
|
secCannotUseWithWinSock {1009} = 'Composant incompatible avec WinSock';
|
||||||
|
|
||||||
|
{egOpenComm}
|
||||||
|
secBadId {2001} = 'ie_BadId - le port Com spécifié n''existe pas';
|
||||||
|
secBaudRate {2002} = 'ie_Baudrate - vitesse en baud non supportée';
|
||||||
|
secByteSize {2003} = 'ie_Bytesize - taille en octets incorrecte';
|
||||||
|
secDefault {2004} = 'ie_Default - erreur dans les paramètres par défaut';
|
||||||
|
secHardware {2005} = 'ie_Hardware - le port Com spécifié est en cours d''utilisation';
|
||||||
|
secMemory {2006} = 'ie_Memory - impossible d''allouer des files';
|
||||||
|
secCommNotOpen {2007} = 'ie_NOpen - périphérique non ouvert';
|
||||||
|
secAlreadyOpen {2008} = 'ie_Open - périphérique déjà open';
|
||||||
|
secNoHandles {2009} = 'Plus de handles, impossible d''ouvrir le port';
|
||||||
|
secNoTimers {2010} = 'Aucun timer disponible';
|
||||||
|
secNoPortSelected {2011} = 'La propriété ComNumber de TApdComPort n''a pas été initialisée';
|
||||||
|
secNotOpenedByTapi {2012} = 'Comport was not opened by Tapi';
|
||||||
|
|
||||||
|
{egSerialIO}
|
||||||
|
secNullApi {3001} = 'Aucune couche de périphérique spécifiée';
|
||||||
|
secNotSupported {3002} = 'Fonction non supporté par le pilote';
|
||||||
|
secRegisterHandlerFailed {3003} = 'Echec de EnableCommNotification';
|
||||||
|
secPutBlockFail {3004} = 'Echec d''écriture du bloc entier';
|
||||||
|
secGetBlockFail {3005} = 'Echec de lecture du bloc entier';
|
||||||
|
secOutputBufferTooSmall {3006} = 'Tampon de sortie trop petit pour le bloc';
|
||||||
|
secBufferIsEmpty {3007} = 'Le tampon est vide';
|
||||||
|
secTracingNotEnabled {3008} = 'Mode trace non activé';
|
||||||
|
secLoggingNotEnabled {3009} = 'Journalisation non activée';
|
||||||
|
secBaseAddressNotSet {3010} = 'Adresse de base non initialisée';
|
||||||
|
|
||||||
|
{Modem/Pager}
|
||||||
|
secModemNotStarted {4001} = 'StartModem n''a pas été appelée';
|
||||||
|
secModemBusy {4002} = 'Le modem est occupé ailleurs';
|
||||||
|
secModemNotDialing {4003} = 'Le modem ne compose pas le numéro';
|
||||||
|
secNotDialing {4004} = 'Le numéroteur ne numérote pas';
|
||||||
|
secAlreadyDialing {4005} = 'Le numéroteur numérote déjà';
|
||||||
|
secModemNotResponding {4006} = 'Le modem ne répond pas';
|
||||||
|
secModemRejectedCommand {4007} = 'Commande incorrecte envoyée au modem';
|
||||||
|
secModemStatusMismatch {4008} = 'Le statut de modem demandé est erroné';
|
||||||
|
|
||||||
|
secDeviceNotSelected {4009} = 'Device not selected';
|
||||||
|
secModemDetectedBusy {4010} = 'Called number is busy';
|
||||||
|
secModemNoDialtone {4011} = 'No dialtone';
|
||||||
|
secModemNoCarrier {4012} = 'No carrier';
|
||||||
|
secModemNoAnswer {4013} = 'No answer';
|
||||||
|
|
||||||
|
{ Pager }
|
||||||
|
secInitFail {4014} = 'Modem Initialization Failure';
|
||||||
|
secLoginFail {4015} = 'Failed to Login';
|
||||||
|
secMinorSrvErr {4016} = 'Minor Server Error';
|
||||||
|
secFatalSrvErr {4017} = 'Fatal Server Error';
|
||||||
|
|
||||||
|
{LibModem}
|
||||||
|
secModemNotFound {4020} = 'Modem not found';
|
||||||
|
secInvalidFile {4021} = 'Invalid modemcap file';
|
||||||
|
|
||||||
|
{deprecated, duplicate values different names}
|
||||||
|
{TApdPhoneBookEditor}
|
||||||
|
spbeDeleteQuery {4101} = 'Etes-vous sûr(e) de vouloir supprimer cette entrée ?';
|
||||||
|
{TApdSModem}
|
||||||
|
sdsmMsgBase {4200} = '';
|
||||||
|
sdsmMsgReady {4201} = 'Prêt';
|
||||||
|
sdsmMsgInitialize {4202} = 'Initialisation du modem';
|
||||||
|
sdsmMsgInitializeTimeout {4203} = 'Initialisation hors délais';
|
||||||
|
sdsmMsgAutoAnswerBackground {4204} = 'AutoAnswer en arrière-plan';
|
||||||
|
sdsmMsgAutoAnswerWait {4205} = 'Attente d''appel entrant';
|
||||||
|
sdsmMsgAnswerWait {4206} = 'Réponse à l''appel';
|
||||||
|
sdsmMsgDialWait {4207} = 'Numérotation';
|
||||||
|
sdsmMsgDialCycle {4208} = 'Attente de renumérotation';
|
||||||
|
sdsmMsgNoDialtone {4209} = 'Pas de tonalité';
|
||||||
|
sdsmMsgConnectWait {4210} = 'Connecté en attente';
|
||||||
|
sdsmMsgConnected {4211} = 'Connecté';
|
||||||
|
sdsmMsgHangup {4212} = 'Déconnection';
|
||||||
|
sdsmMsgCancel {4213} = 'Annulation';
|
||||||
|
{TApdDialerDialog}
|
||||||
|
sdddCycling {4301} = 'Tentative de numérotation répétée . . .';
|
||||||
|
sdddRetryWaiting {4302} = 'Attente . . .';
|
||||||
|
sdddRetryWaitOver {4303} = 'Attente terminée, renumérotation . . .';
|
||||||
|
sdddDialing {4304} = 'Numérotation . . .';
|
||||||
|
sdddModemConnect {4305} = 'Modem connecté !';
|
||||||
|
sdddModemConnectAt {4306} = 'Connecté à %d bauds';
|
||||||
|
sdddModemVoice {4307} = 'Résultat de la connection : liaison ''voix''';
|
||||||
|
sdddModemError {4308} = 'Résultat de la connection : le modem retourne une erreur';
|
||||||
|
sdddModemNoCarrier {4309} = 'Résultat de la connection : pas de porteuse, échec de la connection';
|
||||||
|
sdddModemBusy {4310} = 'Résultat de la connection : correspondant occupé';
|
||||||
|
sdddModemNoDialTone {4311} = 'Résultat de la connection : pas de porteuse, vérifiez les connections';
|
||||||
|
sdddDialTimedOut {4312} = 'Tentative de numérotation hors délais';
|
||||||
|
{TPhoneBookEntryForm}
|
||||||
|
sdpeMustEnterName {4401} = 'Vous devez saisir un nom d''entrée';
|
||||||
|
sdpeMustEnterNumber {4402} = 'Vous devez saisir un numéro de téléphone';
|
||||||
|
sdpeNameExists {4403} = 'Une entrée de répertoire existe déjà sous ce nom';
|
||||||
|
|
||||||
|
{RAS connection status codes}
|
||||||
|
scsOpenPort {4500} = 'OpenPort';
|
||||||
|
scsPortOpened {4501} = 'PortOpened';
|
||||||
|
scsConnectDevice {4502} = 'ConnectDevice';
|
||||||
|
scsDeviceConnected {4503} = 'DeviceConnected';
|
||||||
|
scsAllDevicesConnected {4504} = 'AllDevicesConnected';
|
||||||
|
scsAuthenticate {4505} = 'Authenticate';
|
||||||
|
scsAuthNotify {4506} = 'AuthNotify';
|
||||||
|
scsAuthRetry {4507} = 'AuthRetry';
|
||||||
|
scsAuthCallback {4508} = 'AuthCallback';
|
||||||
|
scsAuthChangePassword {4509} = 'AuthChangePassword';
|
||||||
|
scsAuthProject {4510} = 'AuthProject';
|
||||||
|
scsAuthLinkSpeed {4511} = 'AuthLinkSpeed';
|
||||||
|
scsAuthAck {4512} = 'AuthAck';
|
||||||
|
scsReAuthenticate {4513} = 'ReAuthenticate';
|
||||||
|
scsAuthenticated {4514} = 'Authenticated';
|
||||||
|
scsPrepareForCallback {4515} = 'PrepareForCallback';
|
||||||
|
scsWaitForModemReset {4516} = 'WaitForModemReset';
|
||||||
|
scsWaitForCallback {4517} = 'WaitForCallback';
|
||||||
|
scsProjected {4518} = 'Projected';
|
||||||
|
scsStartAuthentication {4519} = 'StartAuthentication';
|
||||||
|
scsCallbackComplete {4520} = 'CallbackComplete';
|
||||||
|
scsLogonNetwork {4521} = 'LogonNetwork';
|
||||||
|
scsSubEntryConnected {4522} = 'SubEntryConnected';
|
||||||
|
scsSubEntryDisconnected {4523} = 'SubEntryDisconnected';
|
||||||
|
scsRasInteractive {4550} = 'Interactive';
|
||||||
|
scsRasRetryAuthentication {4551} = 'RetryAuthentication';
|
||||||
|
scsRasCallbackSetByCaller {4552} = 'CallbackSetByCaller';
|
||||||
|
scsRasPasswordExpired {4553} = 'PasswordExpired';
|
||||||
|
scsRasDeviceConnected {4599} = 'DeviceConnected';
|
||||||
|
|
||||||
|
{ Pager TDialingStatus }
|
||||||
|
sPDS_NONE {4600} = '';
|
||||||
|
sPDS_OFFHOOK {4601} = 'Off Hook';
|
||||||
|
sPDS_DIALING {4602} = 'Dialing';
|
||||||
|
sPDS_RINGING {4603} = 'Ringing';
|
||||||
|
sPDS_WAITFORCONNECT {4604} = 'Wait For Connect';
|
||||||
|
sPDS_CONNECTED {4605} = 'Connected';
|
||||||
|
sPDS_WAITINGTOREDIAL {4606} = 'Waiting To Redial';
|
||||||
|
sPDS_REDIALING {4607} = 'Redialing';
|
||||||
|
sPDS_MSGNOTSENT {4608} = 'Message Not Sent';
|
||||||
|
sPDS_CANCELLING {4609} = 'Cancelling';
|
||||||
|
sPDS_DISCONNECT {4610} = 'Disconnect';
|
||||||
|
sPDS_CLEANUP {4611} = 'Cleanup';
|
||||||
|
|
||||||
|
{ PDialingError }
|
||||||
|
sPDE_NONE {4630} = '';
|
||||||
|
sPDE_NODIALTONE {4631} = 'No Dial Tone';
|
||||||
|
sPDE_LINEBUSY {4632} = 'Busy';
|
||||||
|
sPDE_NOCONNECTION {4633} = 'No Connection';
|
||||||
|
|
||||||
|
{ TTapStatus }
|
||||||
|
sTAPS_NONE {4660} = '';
|
||||||
|
sTAPS_LOGINPROMPT {4661} = 'Login Prompt';
|
||||||
|
sTAPS_LOGGEDIN {4662} = 'Logged In';
|
||||||
|
sTAPS_LOGINERR {4663} = 'Login Error';
|
||||||
|
sTAPS_LOGINFAIL {4664} = 'Login Fail';
|
||||||
|
sTAPS_MSGOKTOSEND {4665} = 'Message Ok To Send';
|
||||||
|
sTAPS_SENDINGMSG {4666} = 'Sending Message';
|
||||||
|
sTAPS_MSGACK {4667} = 'Message Acknowledged';
|
||||||
|
sTAPS_MSGNAK {4668} = 'Message Not Acknowledged';
|
||||||
|
sTAPS_MSGRS {4669} = 'Message Error';
|
||||||
|
sTAPS_MSGCOMPLETED {4670} = 'Message Completed';
|
||||||
|
sTAPS_DONE {4671} = 'Done';
|
||||||
|
|
||||||
|
{ Protocol status }
|
||||||
|
spsOK {4700} = 'OK';
|
||||||
|
spsProtocolHandshake {4701} = 'Protocole de transfert en cours';
|
||||||
|
spsInvalidDate {4702} = 'Mauvais horodatage reçu et ignoré';
|
||||||
|
spsFileRejected {4703} = 'Fichier refusé';
|
||||||
|
spsFileRenamed {4704} = 'Fichier renommé';
|
||||||
|
spsSkipFile {4705} = 'Fichier ignoré';
|
||||||
|
spsFileDoesntExist {4706} = 'Le fichier n''existe pas localement, ignoré';
|
||||||
|
spsCantWriteFile {4707} = 'Fichier ignoré';
|
||||||
|
spsTimeout {4708} = 'Dépassement de délai dans le protocole';
|
||||||
|
spsBlockCheckError {4709} = 'Somme de contrôle ou CRC erroné';
|
||||||
|
spsLongPacket {4710} = 'Bloc trop long';
|
||||||
|
spsDuplicateBlock {4711} = 'Bloc reçu en double et ignoré ';
|
||||||
|
spsProtocolError {4712} = 'Erreur dans le protocole';
|
||||||
|
spsCancelRequested {4713} = 'Annulation demandée';
|
||||||
|
spsEndFile {4714} = 'En fin de fichier';
|
||||||
|
spsResumeBad {4715} = 'L''hôte B+ a refusé la demande de reprise';
|
||||||
|
spsSequenceError {4716} = 'Bloc hors séquence';
|
||||||
|
spsAbortNoCarrier {4717} = 'Abandon sur perte de porteuse';
|
||||||
|
|
||||||
|
{Specific to certain protocols}
|
||||||
|
spsGotCrcE {4718} = 'Reçu paquet CrcE (Zmodem)';
|
||||||
|
spsGotCrcG {4719} = 'Reçu paquet CrcG (Zmodem)';
|
||||||
|
spsGotCrcW {4720} = 'Reçu paquet CrcW (Zmodem)';
|
||||||
|
spsGotCrcQ {4721} = 'Reçu paquet CrcQ (Zmodem)';
|
||||||
|
spsTryResume {4722} = 'B+ tente de reprendre le téléchargement';
|
||||||
|
spsHostResume {4723} = 'L''hôte B+ reprend';
|
||||||
|
spsWaitAck {4724} = 'Waiting for B+ ACK';
|
||||||
|
|
||||||
|
{Internal protocol codes}
|
||||||
|
spsNoHeader {4725} = '';
|
||||||
|
spsGotHeader {4726} = '';
|
||||||
|
spsGotData {4727} = '';
|
||||||
|
spsNoData {4728} = '';
|
||||||
|
spsAbort {4730} = '';
|
||||||
|
|
||||||
|
{Fax progress codes, sending}
|
||||||
|
sfpInitModem {4801} = 'Initialisation du modem pour l''envoi de fax';
|
||||||
|
sfpDialing {4802} = 'Numérotation';
|
||||||
|
sfpBusyWait {4803} = 'Occupé, attente de renumérotation...';
|
||||||
|
sfpSendPage {4804} = 'Envoi des données de la page';
|
||||||
|
sfpSendPageStatus {4805} = 'Envoi de EOP';
|
||||||
|
sfpPageError {4806} = 'Erreur d''envoi de la page';
|
||||||
|
sfpPageOK {4807} = 'Page acceptée par le correspondant';
|
||||||
|
sfpConnecting {4808} = 'Connection...';
|
||||||
|
|
||||||
|
{Fax progress codes, receiving}
|
||||||
|
sfpWaiting {4820} = 'Attente d''appel entrant';
|
||||||
|
sfpNoConnect {4821} = 'Pas de connection sur cet appel';
|
||||||
|
sfpAnswer {4822} = 'Réponse à l''appel entrant';
|
||||||
|
sfpIncoming {4823} = 'Appel entrant reconnu comme fax';
|
||||||
|
sfpGetPage {4824} = 'Réception des données de la page';
|
||||||
|
sfpGetPageResult {4825} = 'Réception du signal de fin de page';
|
||||||
|
sfpCheckMorePages {4826} = 'Réception du statut de fin de document';
|
||||||
|
sfpGetHangup {4827} = 'Réception de commande de raccrochage';
|
||||||
|
sfpGotHangup {4828} = 'Reçu code de classe 2 FHNG';
|
||||||
|
|
||||||
|
{Fax server codes }
|
||||||
|
sfpSwitchModes {4830} = 'Switching modes';
|
||||||
|
sfpMonitorEnabled {4831} = 'Monitoring for incoming faxes';
|
||||||
|
sfpMonitorDisabled {4832} = 'Not monitoring for incoming faxes';
|
||||||
|
|
||||||
|
{Fax progress codes, common}
|
||||||
|
sfpSessionParams {4840} = 'Réception des paramètres de connection';
|
||||||
|
sfpGotRemoteID {4841} = 'Reçu l''ID de l''appelé';
|
||||||
|
sfpCancel {4842} = 'Abandonné par l''utilisateur';
|
||||||
|
sfpFinished {4843} = 'Terminé';
|
||||||
|
|
||||||
|
{Trigger errors}
|
||||||
|
secNoMoreTriggers {5001} = 'Plus trigger slots';
|
||||||
|
secTriggerTooLong {5002} = 'Data trigger trop long';
|
||||||
|
secBadTriggerHandle {5003} = 'Bad trigger handle';
|
||||||
|
|
||||||
|
{Packet errors}
|
||||||
|
secStartStringEmpty {5501} = 'La chaîne de start est vide';
|
||||||
|
secPacketTooSmall {5502} = 'La taille de paquet ne peut pas être plus petite que la chaîne de start';
|
||||||
|
secNoEndCharCount {5503} = 'Les paquets CharCount doivent avoir une condition de fin';
|
||||||
|
secEmptyEndString {5504} = 'La chaîne de fin est vide';
|
||||||
|
secZeroSizePacket {5505} = 'Le taille de paquet ne peut pas être nulle';
|
||||||
|
secPacketTooLong {5506} = 'Paquet trop long';
|
||||||
|
|
||||||
|
{Protocol errors}
|
||||||
|
secBadFileList {6001} = 'Mauvais format dans la liste de fichiers';
|
||||||
|
secNoSearchMask {6002} = 'Aucun masque de recherche spécifié pendant la transmission';
|
||||||
|
secNoMatchingFiles {6003} = 'Aucun fichier ne correspond au masque de recherche';
|
||||||
|
secDirNotFound {6004} = 'Le répertoire dans le masque de recherche n''existe pas';
|
||||||
|
secCancelRequested {6005} = 'Annulation demandée';
|
||||||
|
secTimeout {6006} = 'Dépassement de délai fatal';
|
||||||
|
secProtocolError {6007} = 'Evènement irrécupérable pendant le protocole';
|
||||||
|
secTooManyErrors {6008} = 'Trop d''erreurs pendant le protocole';
|
||||||
|
secSequenceError {6009} = 'Erreur de séquence de blocs dans Xmodem';
|
||||||
|
secNoFilename {6010} = 'Nom de fichier non spécifié dans le protocole reçu';
|
||||||
|
secFileRejected {6011} = 'Le fichier a été refusé';
|
||||||
|
secCantWriteFile {6012} = 'Impossible d''écrire le fichier';
|
||||||
|
secTableFull {6013} = 'La table de fenêtre Kermit est pleine, erreur fatale';
|
||||||
|
secAbortNoCarrier {6014} = 'Abandon par perte de porteuse';
|
||||||
|
secBadProtocolFunction {6015} = 'Fonction non supportée par le protocole';
|
||||||
|
secProtocolAbort {6016} = 'Protocol aborted';
|
||||||
|
|
||||||
|
{INI database}
|
||||||
|
secKeyTooLong {7001} = 'Chaîne clé trop longue';
|
||||||
|
secDataTooLarge {7002} = 'Chaîne de données trop longue';
|
||||||
|
secNoFieldsDefined {7003} = 'Aucun champ dans la base de données';
|
||||||
|
secIniWrite {7004} = 'Erreur d''écriture dans le fichier INI générique';
|
||||||
|
secIniRead {7005} = 'Erreur de lecture dans le fichier INI générique';
|
||||||
|
secNoIndexKey {7006} = 'Aucun index dans la base de données';
|
||||||
|
secRecordExists {7007} = 'L''enregistrement existe déjà';
|
||||||
|
secRecordNotFound {7008} = 'Enregistrement introuvable dans la base de données';
|
||||||
|
secMustHaveIdxVal {7009} = 'Nom de clé d''index incorrect';
|
||||||
|
secDatabaseFull {7010} = 'Nombre maximum (999) d''enregistrements de base de données atteint';
|
||||||
|
secDatabaseEmpty {7011} = 'Pas d''enregistrements dans la base de données';
|
||||||
|
secDatabaseNotPrepared {7012} = 'iPrepareIniDatabase non appelé';
|
||||||
|
secBadFieldList {7013} = 'Mauvaise liste de champs dans le composant INI';
|
||||||
|
secBadFieldForIndex {7014} = 'Mauvais index de champ dans le composant INI';
|
||||||
|
|
||||||
|
{State Machine}
|
||||||
|
secNoStateMachine {7500} = 'No state machine specified';
|
||||||
|
secNoStartState {7501} = 'StartState not set';
|
||||||
|
secNoSapiEngine {7502} = 'No SAPI engine specified';
|
||||||
|
|
||||||
|
{ fax codes }
|
||||||
|
secFaxBadFormat {8001} = 'Le fichier n''est pas du type APF';
|
||||||
|
secBadGraphicsFormat {8002} = 'Format de fichier graphique non supporté';
|
||||||
|
secConvertAbort {8003} = 'Conversion de fax abandonnée par l''utilisateur';
|
||||||
|
secUnpackAbort {8004} = 'Décompactage de fax abandonné par l''utilisateur';
|
||||||
|
secCantMakeBitmap {8005} = 'Echec de l''API CreateBitmapIndirect';
|
||||||
|
secNoImageLoaded {8050} = 'Aucune image chargée dans le visualisateur';
|
||||||
|
secNoImageBlockMarked {8051} = 'Aucun bloc de l''image marqué';
|
||||||
|
secFontFileNotFound {8052} = 'APFAX.FNT introuvable ou mauvaise ressource';
|
||||||
|
secInvalidPageNumber {8053} = 'Le numéro de page de fax spécifié est incorrect';
|
||||||
|
secBmpTooBig {8054} = 'La taille du BMP dépasse la hauteur maximale Windows'' de 32767';
|
||||||
|
secEnhFontTooBig {8055} = 'La police sélectionnée pour le convertisseur de texte est trop grande';
|
||||||
|
|
||||||
|
secFaxBadMachine {8060} = 'Fax incompatible avec celui du correspondant';
|
||||||
|
secFaxBadModemResult {8061} = 'Mauvaise réponse du modem';
|
||||||
|
secFaxTrainError {8062} = 'Echec de formation des modems';
|
||||||
|
secFaxInitError {8063} = 'Erreurpendant l''initialisation du modem';
|
||||||
|
secFaxBusy {8064} = 'Le numéro de fax appelé est occupé';
|
||||||
|
secFaxVoiceCall {8065} = 'Le numéro appelé est un numéro vocal';
|
||||||
|
secFaxDataCall {8066} = 'Appel données entrant';
|
||||||
|
secFaxNoDialTone {8067} = 'Pas de tonalité';
|
||||||
|
secFaxNoCarrier {8068} = 'Echec de la conection au fax distant';
|
||||||
|
secFaxSessionError {8069} = 'Echec du fax en cours de session';
|
||||||
|
secFaxPageError {8070} = 'Echec du fax en fin de page';
|
||||||
|
secFaxGDIPrintError {8071} = 'Erreur NextBand GDI dans le pilote d''impression fax';
|
||||||
|
secFaxMixedResolution {8072} = 'Résolutions multiples dans une même session non supportées';
|
||||||
|
secFaxConverterInitFail {8073} = 'Echec de l''initialisation du convertisseur de fax';
|
||||||
|
secNoAnswer {8074} = 'Le fax distant ne répond pas';
|
||||||
|
secAlreadyMonitored {8075} = 'Directory already being monitored';
|
||||||
|
|
||||||
|
{ Printer driver installation codes }
|
||||||
|
secUniAlreadyInstalled {8080} = 'Support des fichiers Unidrv déjà installé';
|
||||||
|
secUniCannotGetSysDir {8081} = 'Répertoire système Windows indéterminé';
|
||||||
|
secUniCannotGetWinDir {8082} = 'Répertoire Windows indéterminé';
|
||||||
|
secUniUnknownLayout {8083} = 'Environnement de fichier d''installation indéterminé';
|
||||||
|
secUniCannotInstallFile {8085} = 'Impossible d''installer les fichiers Unidrv dans le répertoire système';
|
||||||
|
secDrvCopyError {8087} = 'Erreur pendant la copie du pilote d''imprimante';
|
||||||
|
secCannotAddPrinter {8088} = 'Echec de l''appel 32-bit à AddPrinter';
|
||||||
|
secDrvBadResources {8089} = 'Ressources défectueuses ou manquantes dans le pilote';
|
||||||
|
secDrvDriverNotFound {8090} = 'Fichier du pilote introuvable';
|
||||||
|
secUniCannotGetPrinterDriverDir {8091} = 'Répertoire du pilote d''impression Win NT indéterminé';
|
||||||
|
secInstallDriverFailed {8092} = 'Echec de l''API AddPrinterDriver';
|
||||||
|
|
||||||
|
{ TApdGSMPhone error codes }
|
||||||
|
secSMSBusy {8100} = 'Busy with another command';
|
||||||
|
secSMSTimedOut {8101} = 'Timed out, no response back';
|
||||||
|
secSMSTooLong {8102} = 'SMS message too long';
|
||||||
|
secSMSUnknownStatus {8103} = 'Status unknown';
|
||||||
|
secMEFailure {8300} = 'Mobile equipment failure';
|
||||||
|
secServiceRes {8301} = 'SMS service of ME reserved';
|
||||||
|
secBadOperation {8302} = 'Operation not allowed';
|
||||||
|
secUnsupported {8303} = 'Operation not supported';
|
||||||
|
secInvalidPDU {8304} = 'Invalid PDU mode parameter';
|
||||||
|
secInvalidText {8305} = 'Invalid Text mode parameter';
|
||||||
|
secSIMInsert {8310} = 'SIM card not inserted';
|
||||||
|
secSIMPin {8311} = 'SIM PIN required';
|
||||||
|
secSIMPH {8312} = 'PH-SIM PIN required';
|
||||||
|
secSIMFailure {8313} = 'SIM failure';
|
||||||
|
secSIMBusy {8314} = 'SIM busy';
|
||||||
|
secSIMWrong {8315} = 'SIM wrong';
|
||||||
|
secSIMPUK {8316} = 'SIM PUK required';
|
||||||
|
secSIMPIN2 {8317} = 'SIM PIN2 required';
|
||||||
|
secSIMPUK2 {8318} = 'SIM PUK2 required';
|
||||||
|
secMemFail {8320} = 'Memory failure';
|
||||||
|
secInvalidMemIndex {8321} = 'Invalid memory index';
|
||||||
|
secMemFull {8322} = 'Memory is full';
|
||||||
|
secSMSCAddUnknown {8330} = 'SMS Center Address unknown';
|
||||||
|
secNoNetwork {8331} = 'No network service';
|
||||||
|
secNetworkTimeout {8332} = 'Network timeout';
|
||||||
|
secCNMAAck {8340} = 'No +CNMA acknowledgement expected';
|
||||||
|
secUnknown {8500} = 'Unknown error';
|
||||||
|
|
||||||
|
{ Winsock codes }
|
||||||
|
secADWSERROR {9001} = 'Erreur Async Professional';
|
||||||
|
secADWSLOADERROR {9002} = 'Erreur au chargement de la DLL Winsock';
|
||||||
|
secADWSVERSIONERROR {9003} = 'Version de Winsock incorrecte';
|
||||||
|
secADWSNOTINIT {9004} = 'Winsock non initialisé - %s';
|
||||||
|
secADWSINVPORT {9005} = 'Le port spécifié n''est pas valide';
|
||||||
|
secADWSCANTCHANGE {9006} = 'Impossible de changer le paramètre pendant que le socket est connecté';
|
||||||
|
secADWSCANTRESOLVE {9007} = 'Impossible de résoudre l''adresse de destination';
|
||||||
|
|
||||||
|
{ All Windows Sockets error constants are biased by 10000 from the ';normal'; }
|
||||||
|
swsaBaseErr {10000} = '';
|
||||||
|
{ Windows Sockets definitions of regular Microsoft C error constants }
|
||||||
|
swsaEIntr {10004} = 'Interrupted function call';
|
||||||
|
swsaEBadF {10009} = 'Bad file number';
|
||||||
|
swsaEAcces {10013} = 'Permission denied';
|
||||||
|
swsaEFault {10014} = 'Unknown error';
|
||||||
|
swsaEInVal {10022} = 'Invalid argument';
|
||||||
|
swsaEMFile {10024} = 'Too many open files';
|
||||||
|
|
||||||
|
{ Windows Sockets definitions of regular Berkeley error constants }
|
||||||
|
swsaEWouldBlock {10035} = 'Warning : the socket would block on this call';
|
||||||
|
swsaEInProgress {10036} = 'A blocking call is in progress';
|
||||||
|
swsaEAlReady {10037} = 'WSAEALREADY: watch out, Al is ready';
|
||||||
|
swsaENotSock {10038} = 'Socket descriptor is (1) not a socket, or (2) is of wrong type';
|
||||||
|
swsaEDestAddrReq {10039} = 'The destination address is required for this operation';
|
||||||
|
swsaEMsgSize {10040} = 'The datagram was too large to fit into the buffer and was truncated';
|
||||||
|
swsaEPrototype {10041} = 'WSAEPROTOTYPE';
|
||||||
|
swsaENoProtoOpt {10042} = 'The option is unknown or not supported';
|
||||||
|
swsaEProtoNoSupport {10043} = 'Either (1) not enough buffer space to create socket (2) protocol not supported';
|
||||||
|
swsaESocktNoSupport {10044} = 'Specified socket type not supported in this address family';
|
||||||
|
swsaEOpNotSupp {10045} = 'Operation is not supported by this socket';
|
||||||
|
swsaEPfNoSupport {10046} = 'Specified protocol family is not supported';
|
||||||
|
swsaEAfNoSupport {10047} = 'Specified address family is not supported by this protocol';
|
||||||
|
swsaEAddrInUse {10048} = 'The address is already in use for this operation';
|
||||||
|
swsaEAddrNotAvail {10049} = 'The address is not available from this machine';
|
||||||
|
swsaENetDown {10050} = 'The network subsystem has failed';
|
||||||
|
swsaENetUnreach {10051} = 'The network is unreachable from this machine at this time';
|
||||||
|
swsaENetReset {10052} = 'The network has been reset';
|
||||||
|
swsaEConnAborted {10053} = 'The virtual circuit has been aborted due to timeout, etc';
|
||||||
|
swsaEConnReset {10054} = 'The virtual circuit has been reset by the partner';
|
||||||
|
swsaENoBufs {10055} = 'The descriptor is not a socket, or no buffer space is available';
|
||||||
|
swsaEIsConn {10056} = 'The socket is already connected';
|
||||||
|
swsaENotConn {10057} = 'The socket is not connected';
|
||||||
|
swsaEShutDown {10058} = 'The socket has been shutdown';
|
||||||
|
swsaETooManyRefs {10059} = 'WSAETOOMANYREFS';
|
||||||
|
swsaETimedOut {10060} = 'The operation timed out';
|
||||||
|
swsaEConnRefused {10061} = 'The attempt to connect was forcibly refused';
|
||||||
|
swsaELoop {10062} = 'WSAELOOP: see WSAELOOP';
|
||||||
|
swsaENameTooLong {10063} = 'The name is too long';
|
||||||
|
swsaEHostDown {10064} = 'The host machine is down';
|
||||||
|
swsaEHostUnreach {10065} = 'The host machine is unreachable';
|
||||||
|
swsaENotEmpty {10066} = 'WSAENOTEMPTY';
|
||||||
|
swsaEProcLim {10067} = 'WSAEPROCLIM';
|
||||||
|
swsaEUsers {10068} = 'WSAEUSERS';
|
||||||
|
swsaEDQuot {10069} = 'WSAEDQUOT';
|
||||||
|
swsaEStale {10070} = 'WSAESTALE';
|
||||||
|
swsaERemote {10071} = 'WSAEREMOTE';
|
||||||
|
|
||||||
|
{ Extended Windows Sockets error constant definitions }
|
||||||
|
swsaSysNotReady {10091} = 'Network subsystem unusable';
|
||||||
|
swsaVerNotSupported {10092} = 'Version requested by WSAStartUp not supported by loaded Winsock DLL';
|
||||||
|
swsaNotInitialised {10093} = 'WSAStartUp not yet called';
|
||||||
|
swsaEDiscOn {10101} = 'WSAEDISCON';
|
||||||
|
swsaHost_Not_Found {11001} = 'Host not found';
|
||||||
|
swsaTry_Again {11002} = 'Host not found, or SERVERFAIL, can try again';
|
||||||
|
swsaNo_Recovery {11003} = 'Non recoverable errors, FORMERR, REFUSED, NOTIMP';
|
||||||
|
swsaNo_Data {11004} = 'Valid name, but no data record of requested type';
|
||||||
|
|
||||||
|
{ The string resource range 13500 - 13800 is used for TAPI }
|
||||||
|
{ status messages, which do not require constants here }
|
||||||
|
{TAPI CallState}
|
||||||
|
stcs_Idle {13501} = 'Line is idle';
|
||||||
|
stcs_Offering {13502} = 'Offering line...';
|
||||||
|
stcs_Accepted {13503} = 'Accepting call...';
|
||||||
|
stcs_Dialtone {13504} = 'Dialtone detected';
|
||||||
|
stcs_Dialing {13505} = 'Dialing...';
|
||||||
|
stcs_Ringback {13506} = 'Ringback detected';
|
||||||
|
stcs_Busy {13507} = 'Called number is busy';
|
||||||
|
stcs_SpecialInfo {13508} = 'Special info';
|
||||||
|
stcs_Connected {13509} = 'Connected!';
|
||||||
|
stcs_Proceeding {13510} = 'Proceeding...';
|
||||||
|
stcs_OnHold {13511} = 'On hold...';
|
||||||
|
stcs_Conferenced {13512} = 'Call conferenced';
|
||||||
|
stcs_OnHoldPendConf {13513} = 'On hold pending conference...';
|
||||||
|
stcs_OnHoldPendTransfer {13514} = 'On hold pending transfer...';
|
||||||
|
stcs_Disconnected {13515} = 'Call disconnected (%s)';
|
||||||
|
stcs_Unknown {13516} = 'Unknown state';
|
||||||
|
{TAPI DevState}
|
||||||
|
stds_Other {13533} = 'Other';
|
||||||
|
stds_Ringing {13534} = 'Ringing';
|
||||||
|
stds_Connected {13535} = 'Connected';
|
||||||
|
stds_Disconnected {13536} = 'Disconnected';
|
||||||
|
stds_MsgWaitOn {13537} = 'Message wait on';
|
||||||
|
stds_MsgWaitOff {13538} = 'Message wait off';
|
||||||
|
stds_InService {13539} = 'In service';
|
||||||
|
stds_OutOfService {13540} = 'Out of service';
|
||||||
|
stds_Maintenance {13541} = 'Maintenance change';
|
||||||
|
stds_Open {13542} = 'Ppen change';
|
||||||
|
stds_Close {13543} = 'Closed';
|
||||||
|
stds_NumCalls {13544} = 'Number of calls changed';
|
||||||
|
stds_NumCompletions {13545} = 'Number of completions changed';
|
||||||
|
stds_Terminals {13546} = 'Terminals changed';
|
||||||
|
stds_RoamMode {13547} = 'Roam mode changed';
|
||||||
|
stds_Battery {13548} = 'Battery changed';
|
||||||
|
stds_Signal {13549} = 'Signal changed';
|
||||||
|
stds_DevSpecific {13550} = 'Device specific change';
|
||||||
|
stds_ReInit {13551} = 'Re-initialized';
|
||||||
|
stds_Lock {13552} = 'Lock change';
|
||||||
|
stds_CapsChange {13553} = 'Caps change';
|
||||||
|
stds_ConfigChange {13554} = 'Configuration change';
|
||||||
|
stds_TranslateChange {13555} = 'Translate change';
|
||||||
|
stds_ComplCancel {13556} = 'Compltion cancel';
|
||||||
|
stds_Removed {13557} = 'Removed';
|
||||||
|
|
||||||
|
{ TAPI APRO-specific }
|
||||||
|
sTAPILineReply {13565} = 'TAPI line reply';
|
||||||
|
sTAPIStateChange {13597} = 'TAPI state change';
|
||||||
|
sTAPICalledBusy {13598} = 'Called number is busy';
|
||||||
|
sTAPIDialFail {13599} = 'Dial failed/no connection';
|
||||||
|
sTAPIRetryWait {13600} = 'Waiting for retry in %d seconds';
|
||||||
|
sTAPIDeviceInUse {13601} = 'Device is in use by another application';
|
||||||
|
|
||||||
|
{ TAPI Disconnect Reasons }
|
||||||
|
sTAPIDisconnect_Unspecified {13650} = 'Reason Unspecified';
|
||||||
|
sTAPIDisconnect_Normal {13651} = 'Normal Hangup by Remote';
|
||||||
|
sTAPIDisconnect_Unknown {13652} = 'Reason Unknown';
|
||||||
|
sTAPIDisconnect_Reject {13653} = 'Remote Rejected Call';
|
||||||
|
sTAPIDisconnect_PickUp {13654} = 'Call Picked Up Elsewhere';
|
||||||
|
sTAPIDisconnect_Forwarded {13655} = 'Call was Forwarded';
|
||||||
|
sTAPIDisconnect_Busy {13656} = 'Line was Busy';
|
||||||
|
sTAPIDisconnect_NoAnswer {13657} = 'No Answer by Remote';
|
||||||
|
sTAPIDisconnect_BadAddress {13658} = 'Invalid Destination Address';
|
||||||
|
sTAPIDisconnect_Unreachable {13659} = 'Remote Unreachable';
|
||||||
|
sTAPIDisconnect_Congestion {13660} = 'Network Congestion';
|
||||||
|
sTAPIDisconnect_Incompatible {13661} = 'Remote Equipment Incompatible';
|
||||||
|
sTAPIDisconnect_Unavail {13662} = 'Reason Unavailable';
|
||||||
|
sTAPIDisconnect_NoDialtone {13663} = 'No Dialtone';
|
||||||
|
sTAPIDisconnect_NumberChanged {13664} = 'Number Changed';
|
||||||
|
sTAPIDisconnect_OutOfOrder {13665} = 'Out of Order';
|
||||||
|
sTAPIDisconnect_TempFailure {13666} = 'Temporary Failure';
|
||||||
|
sTAPIDisconnect_QOSUnavail {13667} = 'Quality of Service Unavail';
|
||||||
|
sTAPIDisconnect_Blocked {13668} = 'Blocked';
|
||||||
|
sTAPIDisconnect_DoNotDisturb {13669} = 'Do Not Disturb';
|
||||||
|
sTAPIDisconnect_Cancelled {13670} = 'Cancelled';
|
||||||
|
|
||||||
|
{Adjusted TAPI error codes}
|
||||||
|
secAllocated {13801} = 'Already allocated';
|
||||||
|
secBadDeviceID {13802} = 'Bad device ID';
|
||||||
|
secBearerModeUnavail {13803} = 'Bearer mode unavailable';
|
||||||
|
secCallUnavail {13805} = 'Call unavailable';
|
||||||
|
secCompletionOverrun {13806} = 'Completion overrun';
|
||||||
|
secConferenceFull {13807} = 'Conference full';
|
||||||
|
secDialBilling {13808} = 'Dial failed';
|
||||||
|
secDialDialtone {13809} = 'Dial failed, no dialtone';
|
||||||
|
secDialPrompt {13810} = 'Dial failed';
|
||||||
|
secDialQuiet {13811} = 'Dial failed';
|
||||||
|
secIncompatibleApiVersion {13812} = 'Incompatible API version';
|
||||||
|
secIncompatibleExtVersion {13813} = 'Incompatible EXT version';
|
||||||
|
secIniFileCorrupt {13814} = 'INI file corrupt';
|
||||||
|
secInUse {13815} = 'Resource in use';
|
||||||
|
secInvalAddress {13816} = 'Invalid address';
|
||||||
|
secInvalAddressID {13817} = 'Invalid address ID';
|
||||||
|
secInvalAddressMode {13818} = 'Invalid address mode';
|
||||||
|
secInvalAddressState {13819} = 'Invalid address state';
|
||||||
|
secInvalAppHandle {13820} = 'Invalid application handle';
|
||||||
|
secInvalAppName {13821} = 'Invalid Application name';
|
||||||
|
secInvalBearerMode {13822} = 'Invalid bearer mode';
|
||||||
|
secInvalCallComplMode {13823} = 'Invalid call completion mode';
|
||||||
|
secInvalCallHandle {13824} = 'Invalid call handle';
|
||||||
|
secInvalCallParams {13825} = 'Invalid call parameters';
|
||||||
|
secInvalCallPrivilege {13826} = 'Invalid call privilege';
|
||||||
|
secInvalCallSelect {13827} = 'Invalid call select';
|
||||||
|
secInvalCallState {13828} = 'Invalid call state';
|
||||||
|
secInvalCallStatelist {13829} = 'Invalid call state list';
|
||||||
|
secInvalCard {13830} = 'Invalid card';
|
||||||
|
secInvalCompletionID {13831} = 'Invalid completion ID';
|
||||||
|
secInvalConfCallHandle {13832} = 'Invalid conference call handle';
|
||||||
|
secInvalConsultCallHandle {13833} = 'Invalid consultation call handle';
|
||||||
|
secInvalCountryCode {13834} = 'Invalid country code';
|
||||||
|
secInvalDeviceClass {13835} = 'Invalid device class';
|
||||||
|
secInvalDeviceHandle {13836} = 'Invalid device handle';
|
||||||
|
secInvalDialParams {13837} = 'Invalid dial params';
|
||||||
|
secInvalDigitList {13838} = 'Invalid digit list';
|
||||||
|
secInvalDigitMode {13839} = 'Invalid digit mode';
|
||||||
|
secInvalDigits {13840} = 'Invalid digits';
|
||||||
|
secInvalExtVersion {13841} = 'Invalid ext version';
|
||||||
|
secInvalGroupID {13842} = 'Invalid group ID';
|
||||||
|
secInvalLineHandle {13843} = 'Invalid line handle';
|
||||||
|
secInvalLineState {13844} = 'Invalid line state';
|
||||||
|
secInvalLocation {13845} = 'Invalid location';
|
||||||
|
secInvalMediaList {13846} = 'Invalid media list';
|
||||||
|
secInvalMediaMode {13847} = 'Invalid media mode';
|
||||||
|
secInvalMessageID {13848} = 'Invalid message ID';
|
||||||
|
secInvalParam {13850} = 'Invalid parameter';
|
||||||
|
secInvalParkID {13851} = 'Invalid park ID';
|
||||||
|
secInvalParkMode {13852} = 'Invalid park mode';
|
||||||
|
secInvalPointer {13853} = 'Invalid pointer';
|
||||||
|
secInvalPrivSelect {13854} = 'Invalid privilege select';
|
||||||
|
secInvalRate {13855} = 'Invalid rate';
|
||||||
|
secInvalRequestMode {13856} = 'Invalid request mode';
|
||||||
|
secInvalTerminalID {13857} = 'Invalid terminal ID';
|
||||||
|
secInvalTerminalMode {13858} = 'Invalid terminal mode';
|
||||||
|
secInvalTimeout {13859} = 'Invalid timeout';
|
||||||
|
secInvalTone {13860} = 'Invalid tone';
|
||||||
|
secInvalToneList {13861} = 'Invalid tone list';
|
||||||
|
secInvalToneMode {13862} = 'Invalid tone mode';
|
||||||
|
secInvalTransferMode {13863} = 'Invalid transfer mode';
|
||||||
|
secLineMapperFailed {13864} = 'Line mapper failed';
|
||||||
|
secNoConference {13865} = 'No conference';
|
||||||
|
secNoDevice {13866} = 'No device';
|
||||||
|
secNoDriver {13867} = 'No driver';
|
||||||
|
secNoMem {13868} = 'No memory';
|
||||||
|
secNoRequest {13869} = 'No request';
|
||||||
|
secNotOwner {13870} = 'Not owner';
|
||||||
|
secNotRegistered {13871} = 'Not registered';
|
||||||
|
secOperationFailed {13872} = 'Operation failed';
|
||||||
|
secOperationUnavail {13873} = 'Operation unavailable';
|
||||||
|
secRateUnavail {13874} = 'Rate unavailable';
|
||||||
|
secResourceUnavail {13875} = 'Resource unavailable';
|
||||||
|
secRequestOverrun {13876} = 'Request overrun';
|
||||||
|
secStructureTooSmall {13877} = 'Structure too small';
|
||||||
|
secTargetNotFound {13878} = 'Target not found';
|
||||||
|
secTargetSelf {13879} = 'Target is self';
|
||||||
|
secUninitialized {13880} = 'Uninitialized';
|
||||||
|
secUserUserInfoTooBig {13881} = 'User info too big';
|
||||||
|
secReinit {13882} = 'Reinit failed';
|
||||||
|
secAddressBlocked {13883} = 'Address blocked';
|
||||||
|
secBillingRejected {13884} = 'Billing rejected';
|
||||||
|
secInvalFeature {13885} = 'Invalid feature';
|
||||||
|
secNoMultipleInstance {13886} = 'No multiple instance';
|
||||||
|
|
||||||
|
{Apro encounters a few of its own TAPI errors, place these error
|
||||||
|
codes after the native TAPI error codes, but leave a little bit
|
||||||
|
of room for expansion of the TAPI error codes.}
|
||||||
|
secTapiBusy {13928} = 'TAPI already open, dialing or answering';
|
||||||
|
secTapiNotSet {13929} = 'TapiMode not set in TApdComPort';
|
||||||
|
secTapiNoSelect {13930} = 'No TAPI device selected';
|
||||||
|
secTapiLoadFail {13931} = 'Failed to find/load TAPI.DLL';
|
||||||
|
secTapiGetAddrFail {13932} = 'Failed to get TAPI address';
|
||||||
|
sTAPIdisabled16bit {13933} = 'TAPI disabled for 16-bit environments';
|
||||||
|
secTapiUnexpected {13934} = 'Unexpected TAPI error';
|
||||||
|
secTapiVoiceNotSupported {13935} = 'TAPI device does not support voice extensions';
|
||||||
|
secTapiWaveFail {13936} = 'TAPI wave file error';
|
||||||
|
secTapiCIDBlocked {13937} = 'Caller ID Blocked';
|
||||||
|
secTapiCIDOutOfArea {13938} = 'Out of Area Call';
|
||||||
|
secTapiWaveFormatError {13939} = 'The selected file is not a wave file';
|
||||||
|
secTapiWaveReadError {13940} = 'Unable to read wave file data';
|
||||||
|
secTapiWaveBadFormat {13941} = 'Unsupported wave format';
|
||||||
|
secTapiTranslateFail {13942} = 'Unable to translate address';
|
||||||
|
secTapiWaveDeviceInUse {13943} = 'Wave device in use';
|
||||||
|
secTapiWaveFileExists {13944} = 'Wave file already exists';
|
||||||
|
secTapiWaveNoData {13945} = 'No wave data available';
|
||||||
|
|
||||||
|
secVoIPNotSupported {13950} = 'Voice over IP not available (requires Windows 2000 and above)';
|
||||||
|
secVoIPCallBusy {13951} = 'Remote was busy';
|
||||||
|
secVoIPBadAddress {13952} = 'Destination address bad';
|
||||||
|
secVoIPNoAnswer {13953} = 'Remote did not answer';
|
||||||
|
secVoIPCancelled {13954} = 'Cancelled';
|
||||||
|
secVoIPRejected {13955} = 'Remote rejected the call';
|
||||||
|
secVoIPFailed {13956} = 'General failure';
|
||||||
|
secVoIPTapi3NotInstalled {13957} = 'ITTapi interface failure';
|
||||||
|
secVoIPH323NotFound {13958} = 'H.323 line not found';
|
||||||
|
secVoIPTapi3EventFailure {13959} = 'Event notify failure';
|
||||||
|
|
||||||
|
{RAS error codes}
|
||||||
|
secRasLoadFail {13980} = 'Failed to find/load RASAPI32.DLL';
|
||||||
|
|
||||||
|
{ Logging - It is unlikely that these should change, these strings are }
|
||||||
|
{ used in the dispatcher log. Translating them into another language }
|
||||||
|
{ could make it difficult for TurboPower Tech Support to decipher it. }
|
||||||
|
{ Dispatch type. Instead of duplicating the strings in the different }
|
||||||
|
{ language include files, we'll just include a common file here. }
|
||||||
|
{$I AdDispLog.inc}
|
||||||
|
|
||||||
|
{XML strings}
|
||||||
|
sIENotInstalled = 'Cannot open WININET, Microsoft IE required';
|
||||||
|
sOpenFileFailed = 'Impossible d''ouvrir le fichier ';
|
||||||
|
sFileNotFound = 'File %s could not be found';
|
||||||
|
sAllocSrcMemFailed = 'Impossible d''allouer la mémoire pour la source XML';
|
||||||
|
sHttpReadReqFailed = 'Impossible de lire la requête HTTP';
|
||||||
|
sHttpDataNotAvail = 'Données Http non disponibles';
|
||||||
|
sHttpReqSendFailed = 'Impossible d''envoyer la requête HTTP';
|
||||||
|
sHttpReqOpenFailed = 'Impossible d''ouvrir la requête HTTP';
|
||||||
|
sInetConnectFailed = 'Impossible d''établir la connexion Internet';
|
||||||
|
sInetOpenFailed = 'Impossible d''accéder à Internet';
|
||||||
|
sInvalidFtpLoc = 'Localisation FTP incorrecte';
|
||||||
|
sInvalidFtpDir = 'Répertoire FTP incorrect';
|
||||||
|
sFtpReadReqFailed = 'Impossible de lire la requête FTP';
|
||||||
|
sFtpDataNotAvail = 'Données FTP non disponibles';
|
||||||
|
sFtpOpenFileFailed = 'Impossible d''ouvrir le fichier FTP';
|
||||||
|
sFtpPutFileFailed = 'Could not save file via ftp to %s';
|
||||||
|
sSrcLoadFailed = 'Impossible de charger la source ';
|
||||||
|
sInvalidMemPtr = 'Pointeur incorrect';
|
||||||
|
sFmtErrorMsg = 'Ligne: %d Colonne: %d Erreur: %s';
|
||||||
|
sIndexOutOfBounds = 'ERREUR - INDEX HORS BORNES';
|
||||||
|
sExpMarkupDecl = 'Markup de déclaration attendu';
|
||||||
|
sIllAttrType = 'Type d''attribut invalide';
|
||||||
|
sIllAttrDefKeyw = 'Valeur par défaut incorrecte';
|
||||||
|
sSysIdMissing = 'Identificateur système manquant ';
|
||||||
|
sExtModifMissing = 'Modificateur externe manquant ';
|
||||||
|
sIllCondSectStart = 'Une section conditionnelle doit débuter par INCLUDE ou IGNORE';
|
||||||
|
sBadSepInModel = 'Mauvais séparateur dans un modèle de contenu';
|
||||||
|
sExpCommentOrCDATA = 'Commentaire ou section CDATA attendu ';
|
||||||
|
sUnexpectedEof = 'Fin de fichier inattendue';
|
||||||
|
sMismatchEndTag = 'Tag de fin sans correspondance ';
|
||||||
|
sIllCharInRef = 'Caractère illegal dans la référence';
|
||||||
|
sUndeclaredEntity = 'Référence à une entité non déclarée ';
|
||||||
|
sExpectedString = 'Chaîne attendue ';
|
||||||
|
sSpaceExpectedAt = 'Espace attendu en position ';
|
||||||
|
sUnexpEndOfInput = 'Fin de données pendant la recherche du délimiteur ';
|
||||||
|
sQuoteExpected = '" ou '' attendu';
|
||||||
|
sInvalidXMLVersion = 'XMLPartner does not support XML specification greater than %s';
|
||||||
|
sUnableCreateStr = 'Unable to create stream for input.';
|
||||||
|
sInvalidName = 'Invalid XML name';
|
||||||
|
sInvalidCommentText = 'Invalid comment text';
|
||||||
|
sCommentBeforeXMLDecl = 'Document cannot start with a comment if it also contains an XML declaration';
|
||||||
|
sInvalidCDataSection = 'Invalid characters in CDATA section';
|
||||||
|
sRedefinedAttr = 'Attributes cannot be redefined in a start tag';
|
||||||
|
sCircularEntRef = 'Circular reference to: ';
|
||||||
|
sInvAttrChar = 'Invalid character in attribute value: ';
|
||||||
|
sInvPCData = 'Invalid characters in element''s character data: ';
|
||||||
|
sDataAfterValDoc = 'There is invalid data after valid XML document';
|
||||||
|
sNoIntConditional = 'Conditional sections not allowed in internal subset of document type declaration';
|
||||||
|
sNotationNotDeclared = 'Notation not declared: ';
|
||||||
|
sInvPubIDChar = 'Invalid PublicID character: ';
|
||||||
|
sNoNDATAInPeDecl = 'NDATA not allowed in parameter entity declaration.';
|
||||||
|
sInvStandAloneVal = 'Standalone value must equal ''yes'' or ''no''';
|
||||||
|
sInvEncName = 'Invalid encoding declaration: ';
|
||||||
|
sInvVerNum = 'Invalid XML version number: ';
|
||||||
|
sInvEntityValue = 'Invalid character in entity value: ';
|
||||||
|
sNoCommentInMarkup = 'Comments can not be placed within other markup';
|
||||||
|
sNoPEInIntDTD = 'Parameter entities not allowed in DTD internal subset';
|
||||||
|
sXMLDecNotAtBeg = 'The XML declaration must appear before the first element';
|
||||||
|
sInvalidElementName = 'Invalid element name: ';
|
||||||
|
sBadParamEntNesting = 'Parameter-entity text must be properly nested: ';
|
||||||
|
sInvalidCharEncoding = 'Invalid character encoding specified.';
|
||||||
|
sAttrNotNum = 'Attribute %s of element %s does not have an integer value.';
|
||||||
|
|
||||||
|
{xpchrstm related errors}
|
||||||
|
sInvalidXMLChar = 'Invalid XML Character found';
|
||||||
|
sInvalidBEChar = 'Invalid (big-endian) UTF-16 character encoding';
|
||||||
|
sInvalidLEChar = 'Invalid (little-endian) UTF-16 character encoding';
|
||||||
|
sBadUTF8Char = 'Badly formed UTF-8 character in stream';
|
||||||
|
sErrEndOfDocument = 'Unexpected end of document stream';
|
||||||
|
sUCS_ISOConvertErr = 'Cannot convert UCS-4 character to ISO-8859-1';
|
||||||
|
sUCS_U16ConvertErr = 'Cannot convert UCS-4 character to UTF-16';
|
||||||
|
sUCS_U8ConverErr = 'Cannot convert UCS-4 character to UTF-8';
|
||||||
|
|
||||||
|
{EModem error string resource}
|
||||||
|
sModemDetectedBusy = 'Line is Busy';
|
||||||
|
sModemNoDialtone = 'No Dialtone';
|
||||||
|
sModemNoCarrier = 'No Carrier';
|
||||||
|
|
||||||
|
{TApdPager string resource}
|
||||||
|
sInitFail = 'Modem Initialization Failure';
|
||||||
|
sLoginFail = 'Failed to Login';
|
||||||
|
sMinorSrvErr = 'Minor Server Error';
|
||||||
|
sFatalSrvErr = 'Fatal Server Error';
|
||||||
|
sConnected = 'Modem Connected';
|
||||||
|
sCancelled = 'Cancel Requested';
|
||||||
|
sLineBusy = 'Line Busy';
|
||||||
|
sDisconnect = 'Disconnecing';
|
||||||
|
sNoDialtone = 'No Dialtone';
|
||||||
|
sMsgNotSent = 'Message not sent';
|
||||||
|
sWaitingToRedial = 'Waiting to Redial';
|
||||||
|
sLoginPrompt = 'Received Prompt for Login';
|
||||||
|
sLoggedIn = 'Successful Login';
|
||||||
|
sDialing = 'Now Dialing';
|
||||||
|
sRedialing = 'Now Redialing';
|
||||||
|
sLoginRetry = 'Retry Password for Login';
|
||||||
|
sMsgOkToSend = 'Ready to Send Message';
|
||||||
|
sSendingMsg = 'Now sending Message';
|
||||||
|
sMsgAck = 'Received, Send next block or end';
|
||||||
|
sMsgNak = 'Received Error, Resend Message';
|
||||||
|
sMsgRs = 'Unable to Send Page';
|
||||||
|
sMsgCompleted = 'Page Complete - Logging out if done';
|
||||||
|
sSendTimedOut = 'Timed Out - No Response';
|
||||||
|
sLoggingOut = 'Logging Out';
|
||||||
|
sDone = 'Done with Page';
|
||||||
|
|
||||||
|
{TApdVoIP error string resource}
|
||||||
|
sVoIPNotAvailable = 'Voice over IP not available (requires Windows 2000 and above)';
|
||||||
|
|
||||||
|
{TFaxLogCode description strings, used by TApdAbstractFax.LogMsg method}
|
||||||
|
slfaxNone = 'none';
|
||||||
|
slfaxTransmitStart = 'transmit started';
|
||||||
|
slfaxTransmitOk = 'transmit finished okay';
|
||||||
|
slfaxTransmitFail = 'transmit failed';
|
||||||
|
slfaxReceiveStart = 'receive started';
|
||||||
|
slfaxReceiveOk = 'receive finished okay';
|
||||||
|
slfaxReceiveSkip = 'receive skipped on request';
|
||||||
|
slfaxReceiveFail = 'receive failed';
|
||||||
+760
@@ -0,0 +1,760 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Sulaiman Mah
|
||||||
|
* Sean B. Durkin
|
||||||
|
* Sebastian Zierer
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* ADEXCEPT.PAS 5.00 *}
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
{Global defines potentially affecting this unit}
|
||||||
|
{$I AWDEFINE.INC}
|
||||||
|
|
||||||
|
{Options required for this unit}
|
||||||
|
{$G+,X+,F-,V-,P-,T-,B-}
|
||||||
|
|
||||||
|
unit AdExcept;
|
||||||
|
{-Apro exceptions}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Messages,
|
||||||
|
Windows,
|
||||||
|
SysUtils,
|
||||||
|
Classes,
|
||||||
|
OoMisc;
|
||||||
|
|
||||||
|
{ The design of the string resources has changed for APRO 4.04. We no longer }
|
||||||
|
{ use the string resource manager (AdSrmgr.pas), we now use resourcestrings. }
|
||||||
|
{ To use a different language, specify the language below. Only select one }
|
||||||
|
{ language when compiling. Selecting multiple languages will result in }
|
||||||
|
{ duplicate identifiers. If you need to support multiple langauages, use the }
|
||||||
|
{ separate string resource units to create your own language DLLs or other }
|
||||||
|
{ techniques. See the comments in the applicable language include file for }
|
||||||
|
{ more details (in English). }
|
||||||
|
|
||||||
|
|
||||||
|
{Select English by default, only one can be enabled at any given time }
|
||||||
|
|
||||||
|
{*** English ***}
|
||||||
|
{.$I AdExcept.inc}
|
||||||
|
{*** French ***}
|
||||||
|
{$I AdExcept.fra}
|
||||||
|
{*** German ***}
|
||||||
|
{.$I AdExcept.deu}
|
||||||
|
{*** Spanish ***}
|
||||||
|
{.$I AdExcept.esp}
|
||||||
|
{*** Swedish ***}
|
||||||
|
{.$I AdExcept.sw}
|
||||||
|
{*** Norwegian ***}
|
||||||
|
{.$I AdExcept.nor}
|
||||||
|
{*** Danish ***}
|
||||||
|
{.$I AdExcept.dk}
|
||||||
|
|
||||||
|
|
||||||
|
type
|
||||||
|
{General Apro exception class}
|
||||||
|
EAPDException = class(Exception)
|
||||||
|
private
|
||||||
|
FErrorCode : Integer;
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(const EC : Integer; PassThru : Boolean);
|
||||||
|
constructor CreateUnknown(const Msg : String; Dummy : Byte);
|
||||||
|
|
||||||
|
class function MapCodeToStringID(const Code : Integer) : Word;
|
||||||
|
{-Return a string table index for Code}
|
||||||
|
|
||||||
|
property ErrorCode : Integer
|
||||||
|
read FErrorCode write FErrorCode;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{Apro exception groups}
|
||||||
|
EGeneral = class(EAPDException);
|
||||||
|
EOpenComm = class(EAPDException);
|
||||||
|
ESerialIO = class(EAPDException);
|
||||||
|
EModem = class(EAPDException);
|
||||||
|
ETrigger = class(EAPDException);
|
||||||
|
EPacket = class(EAPDException);
|
||||||
|
EProtocol = class(EAPDException);
|
||||||
|
EINI = class(EAPDException);
|
||||||
|
EFax = class(EAPDException);
|
||||||
|
ETapi = class(EAPDException);
|
||||||
|
ERas = class(EAPDException);
|
||||||
|
EAdTerminal = class(EAPDException);
|
||||||
|
EXML = class(EAPDException);
|
||||||
|
EStateMachine = class(EAPDException);
|
||||||
|
|
||||||
|
{Specific general exceptions}
|
||||||
|
EBadArgument = class(EGeneral);
|
||||||
|
EGotQuitMsg = class(EGeneral);
|
||||||
|
EBufferTooBig = class(EGeneral);
|
||||||
|
EPortNotAssigned = class(EGeneral);
|
||||||
|
EInternal = class(EGeneral);
|
||||||
|
EModemNotAssigned = class(EGeneral);
|
||||||
|
EPhonebookNotAssigned = class(EGeneral);
|
||||||
|
ECannotUseWithWinSock = class(EGeneral);
|
||||||
|
|
||||||
|
{Specific OpenComm exceptions}
|
||||||
|
EBadId = class(EOpenComm);
|
||||||
|
EBaudRate = class(EOpenComm);
|
||||||
|
EByteSize = class(EOpenComm);
|
||||||
|
EDefault = class(EOpenComm);
|
||||||
|
EHardware = class(EOpenComm);
|
||||||
|
EMemory = class(EOpenComm);
|
||||||
|
ECommNotOpen = class(EOpenComm);
|
||||||
|
EAlreadyOpen = class(EOpenComm);
|
||||||
|
ENoHandles = class(EOpenComm);
|
||||||
|
ENoTimers = class(EOpenComm);
|
||||||
|
ENoPortSelected = class(EOpenComm);
|
||||||
|
ENotOpenedByTapi = class(EOpenComm);
|
||||||
|
|
||||||
|
{Specific serial I/O exceptions}
|
||||||
|
ENullApi = class(ESerialIO);
|
||||||
|
ERegisterHandlerFailed= class(ESerialIO);
|
||||||
|
EPutBlockFail = class(ESerialIO);
|
||||||
|
EGetBlockFail = class(ESerialIO);
|
||||||
|
EOutputBufferTooSmall = class(ESerialIO);
|
||||||
|
EBufferIsEmpty = class(ESerialIO);
|
||||||
|
ETracingNotEnabled = class(ESerialIO);
|
||||||
|
ELoggingNotEnabled = class(ESerialIO);
|
||||||
|
EBaseAddressNotSet = class(ESerialIO);
|
||||||
|
|
||||||
|
{Specific modem exceptions}
|
||||||
|
EModemNotStarted = class(EModem);
|
||||||
|
EModemBusy = class(EModem);
|
||||||
|
EModemNotDialing = class(EModem);
|
||||||
|
EModemNotResponding = class(EModem);
|
||||||
|
EModemRejectedCommand = class(EModem);
|
||||||
|
EModemStatusMismatch = class(EModem);
|
||||||
|
|
||||||
|
{Specific dialer exceptions}
|
||||||
|
EAlreadyDialing = class(EModem);
|
||||||
|
ENotDialing = class(EModem);
|
||||||
|
|
||||||
|
EDeviceNotSelected = class(EModem);
|
||||||
|
EModemDetectedBusy = class(EModem);
|
||||||
|
ENoDialtone = class(EModem);
|
||||||
|
ENoCarrier = class(EModem);
|
||||||
|
ENoAnswer = class(EModem);
|
||||||
|
|
||||||
|
{Specific trigger exceptions}
|
||||||
|
ENoMoreTriggers = class(ETrigger);
|
||||||
|
ETriggerTooLong = class(ETrigger);
|
||||||
|
EBadTriggerHandle = class(ETrigger);
|
||||||
|
|
||||||
|
{Specific packet exceptions}
|
||||||
|
EInvalidProperty = class(EPacket);
|
||||||
|
EStringSizeError = class(EPacket);
|
||||||
|
|
||||||
|
{Specific protocol exceptions}
|
||||||
|
ETimeout = class(EProtocol);
|
||||||
|
ETooManyErrors = class(EProtocol);
|
||||||
|
ESequenceError = class(EProtocol);
|
||||||
|
|
||||||
|
{Specific INI database exceptions}
|
||||||
|
EKeyTooLong = class(EINI);
|
||||||
|
EDataTooLarge = class(EINI);
|
||||||
|
EIniWrite = class(EINI);
|
||||||
|
EIniRead = class(EINI);
|
||||||
|
ERecordExists = class(EINI);
|
||||||
|
ERecordNotFound = class(EINI);
|
||||||
|
EDatabaseFull = class(EINI);
|
||||||
|
EDatabaseEmpty = class(EINI);
|
||||||
|
EBadFieldList = class(EINI);
|
||||||
|
EBadFieldForIndex = class(EINI);
|
||||||
|
|
||||||
|
{.Z+}
|
||||||
|
{Specific FAX exceptions}
|
||||||
|
EFaxBadFormat = class(EFax);
|
||||||
|
EBadGraphicsFormat = class(EFax);
|
||||||
|
EConvertAbort = class(EFax);
|
||||||
|
EUnpackAbort = class(EFax);
|
||||||
|
ECantMakeBitmap = class(EFax);
|
||||||
|
ENoImageLoaded = class(EFax);
|
||||||
|
ENoImageBlockMarked = class(EFax);
|
||||||
|
EInvalidPageNumber = class(EFax);
|
||||||
|
|
||||||
|
EFaxBadMachine = class(EFax);
|
||||||
|
EFaxBadModemResult = class(EFax);
|
||||||
|
EFaxTrainError = class(EFax);
|
||||||
|
EFaxInitError = class(EFax);
|
||||||
|
EFaxBusy = class(EFax);
|
||||||
|
EFaxVoiceCall = class(EFax);
|
||||||
|
EFaxDataCall = class(EFax);
|
||||||
|
EFaxNoDialTone = class(EFax);
|
||||||
|
EFaxNoCarrier = class(EFax);
|
||||||
|
EFaxSessionError = class(EFax);
|
||||||
|
EFaxPageError = class(EFax);
|
||||||
|
|
||||||
|
EAlreadyMonitored = class(EFax);
|
||||||
|
|
||||||
|
ETapiAllocated = class(ETapi);
|
||||||
|
ETapiBadDeviceID = class(ETapi);
|
||||||
|
ETapiBearerModeUnavail = class(ETapi);
|
||||||
|
ETapiCallUnavail = class(ETapi);
|
||||||
|
ETapiCompletionOverrun = class(ETapi);
|
||||||
|
ETapiConferenceFull = class(ETapi);
|
||||||
|
ETapiDialBilling = class(ETapi);
|
||||||
|
ETapiDialDialtone = class(ETapi);
|
||||||
|
ETapiDialPrompt = class(ETapi);
|
||||||
|
ETapiDialQuiet = class(ETapi);
|
||||||
|
ETapiIncompatibleApiVersion = class(ETapi);
|
||||||
|
ETapiIncompatibleExtVersion = class(ETapi);
|
||||||
|
ETapiIniFileCorrupt = class(ETapi);
|
||||||
|
ETapiInUse = class(ETapi);
|
||||||
|
ETapiInvalAddress = class(ETapi);
|
||||||
|
ETapiInvalAddressID = class(ETapi);
|
||||||
|
ETapiInvalAddressMode = class(ETapi);
|
||||||
|
ETapiInvalAddressState = class(ETapi);
|
||||||
|
ETapiInvalAppHandle = class(ETapi);
|
||||||
|
ETapiInvalAppName = class(ETapi);
|
||||||
|
ETapiInvalBearerMode = class(ETapi);
|
||||||
|
ETapiInvalCallComplMode = class(ETapi);
|
||||||
|
ETapiInvalCallHandle = class(ETapi);
|
||||||
|
ETapiInvalCallParams = class(ETapi);
|
||||||
|
ETapiInvalCallPrivilege = class(ETapi);
|
||||||
|
ETapiInvalCallSelect = class(ETapi);
|
||||||
|
ETapiInvalCallState = class(ETapi);
|
||||||
|
ETapiInvalCallStatelist = class(ETapi);
|
||||||
|
ETapiInvalCard = class(ETapi);
|
||||||
|
ETapiInvalCompletionID = class(ETapi);
|
||||||
|
ETapiInvalConfCallHandle = class(ETapi);
|
||||||
|
ETapiInvalConsultCallHandle = class(ETapi);
|
||||||
|
ETapiInvalCountryCode = class(ETapi);
|
||||||
|
ETapiInvalDeviceClass = class(ETapi);
|
||||||
|
ETapiInvalDeviceHandle = class(ETapi);
|
||||||
|
ETapiInvalDialParams = class(ETapi);
|
||||||
|
ETapiInvalDigitList = class(ETapi);
|
||||||
|
ETapiInvalDigitMode = class(ETapi);
|
||||||
|
ETapiInvalDigits = class(ETapi);
|
||||||
|
ETapiInvalExtVersion = class(ETapi);
|
||||||
|
ETapiInvalGroupID = class(ETapi);
|
||||||
|
ETapiInvalLineHandle = class(ETapi);
|
||||||
|
ETapiInvalLineState = class(ETapi);
|
||||||
|
ETapiInvalLocation = class(ETapi);
|
||||||
|
ETapiInvalMediaList = class(ETapi);
|
||||||
|
ETapiInvalMediaMode = class(ETapi);
|
||||||
|
ETapiInvalMessageID = class(ETapi);
|
||||||
|
ETapiInvalParam = class(ETapi);
|
||||||
|
ETapiInvalParkID = class(ETapi);
|
||||||
|
ETapiInvalParkMode = class(ETapi);
|
||||||
|
ETapiInvalPointer = class(ETapi);
|
||||||
|
ETapiInvalPrivSelect = class(ETapi);
|
||||||
|
ETapiInvalRate = class(ETapi);
|
||||||
|
ETapiInvalRequestMode = class(ETapi);
|
||||||
|
ETapiInvalTerminalID = class(ETapi);
|
||||||
|
ETapiInvalTerminalMode = class(ETapi);
|
||||||
|
ETapiInvalTimeout = class(ETapi);
|
||||||
|
ETapiInvalTone = class(ETapi);
|
||||||
|
ETapiInvalToneList = class(ETapi);
|
||||||
|
ETapiInvalToneMode = class(ETapi);
|
||||||
|
ETapiInvalTransferMode = class(ETapi);
|
||||||
|
ETapiLineMapperFailed = class(ETapi);
|
||||||
|
ETapiNoConference = class(ETapi);
|
||||||
|
ETapiNoDevice = class(ETapi);
|
||||||
|
ETapiNoDriver = class(ETapi);
|
||||||
|
ETapiNoMem = class(ETapi);
|
||||||
|
ETapiNoRequest = class(ETapi);
|
||||||
|
ETapiNotOwner = class(ETapi);
|
||||||
|
ETapiNotRegistered = class(ETapi);
|
||||||
|
ETapiOperationFailed = class(ETapi);
|
||||||
|
ETapiOperationUnavail = class(ETapi);
|
||||||
|
ETapiRateUnavail = class(ETapi);
|
||||||
|
ETapiResourceUnavail = class(ETapi);
|
||||||
|
ETapiRequestOverrun = class(ETapi);
|
||||||
|
ETapiStructureTooSmall = class(ETapi);
|
||||||
|
ETapiTargetNotFound = class(ETapi);
|
||||||
|
ETapiTargetSelf = class(ETapi);
|
||||||
|
ETapiUninitialized = class(ETapi);
|
||||||
|
ETapiUserUserInfoTooBig = class(ETapi);
|
||||||
|
ETapiReinit = class(ETapi);
|
||||||
|
ETapiAddressBlocked = class(ETapi);
|
||||||
|
ETapiBillingRejected = class(ETapi);
|
||||||
|
ETapiInvalFeature = class(ETapi);
|
||||||
|
ETapiNoMultipleInstance = class(ETapi);
|
||||||
|
|
||||||
|
{Tapi exceptions that don't simply mirror TAPI error codes}
|
||||||
|
ETapiBusy = class(ETapi);
|
||||||
|
ETapiNotSet = class(ETapi);
|
||||||
|
ETapiNoSelect = class(ETapi);
|
||||||
|
ETapiLoadFail = class(ETapi);
|
||||||
|
ETapiGetAddrFail = class(ETapi);
|
||||||
|
ETapiUnexpected = class(ETapi);
|
||||||
|
ETapiVoiceNotSupported = class(ETapi);
|
||||||
|
ETapiWaveFail = class(ETapi);
|
||||||
|
ETapiTranslateFail = class(ETapi);
|
||||||
|
|
||||||
|
{VoIP specific errors}
|
||||||
|
EVoIPNotSupported = class(ETapi);
|
||||||
|
|
||||||
|
{Ras exceptions}
|
||||||
|
ERasLoadFail = class(ERas);
|
||||||
|
|
||||||
|
{Terminal exceptions}
|
||||||
|
EAdTerminalClass = class of EAdTerminal;
|
||||||
|
EAdTermRangeError = class(EAdTerminal);
|
||||||
|
EAdTermInvalidParameter = class(EAdTerminal);
|
||||||
|
EAdTermTooLarge = class(EAdTerminal);
|
||||||
|
|
||||||
|
{TApdPager Exceptions}
|
||||||
|
{$M+}
|
||||||
|
EApdPagerException = class (Exception)
|
||||||
|
private
|
||||||
|
FErrorCode : Integer;
|
||||||
|
public
|
||||||
|
{ Parameters to the construtor are reversed to prevent problems with
|
||||||
|
C++ Builder }
|
||||||
|
constructor Create (const ErrCode : Integer; const Msg : string);
|
||||||
|
published
|
||||||
|
property ErrorCode : Integer read FErrorCode;
|
||||||
|
end;
|
||||||
|
{$M-}
|
||||||
|
|
||||||
|
{TApdGSMPhone Exceptions}
|
||||||
|
{$M+}
|
||||||
|
EApdGSMPhoneException = class (Exception)
|
||||||
|
private
|
||||||
|
FErrorCode : Integer;
|
||||||
|
public
|
||||||
|
{ Parameters to the construtor are reversed to prevent problems with
|
||||||
|
C++ Builder }
|
||||||
|
constructor Create (const ErrCode : Integer; const Msg : string);
|
||||||
|
published
|
||||||
|
property ErrorCode : Integer read FErrorCode;
|
||||||
|
end;
|
||||||
|
{$M-}
|
||||||
|
|
||||||
|
{ XML exceptions }
|
||||||
|
{$M+}
|
||||||
|
EAdStreamError = class(EXML)
|
||||||
|
private
|
||||||
|
seFilePos : Integer;
|
||||||
|
public
|
||||||
|
constructor CreateError(const FilePos : Integer;
|
||||||
|
const Reason : DOMString);
|
||||||
|
property FilePos : Integer
|
||||||
|
read seFilePos;
|
||||||
|
end;
|
||||||
|
{$M-}
|
||||||
|
|
||||||
|
EAdFilterError = class(EAdStreamError)
|
||||||
|
private
|
||||||
|
feReason : DOMString;
|
||||||
|
feLine : Integer;
|
||||||
|
feLinePos : Integer;
|
||||||
|
public
|
||||||
|
constructor CreateError(const FilePos, Line, LinePos : Integer;
|
||||||
|
const Reason : DOMString);
|
||||||
|
property Reason : DOMString
|
||||||
|
read feReason;
|
||||||
|
property Line : Integer
|
||||||
|
read feLine;
|
||||||
|
property LinePos : Integer
|
||||||
|
read feLinePos;
|
||||||
|
end;
|
||||||
|
|
||||||
|
EAdParserError = class(EAdFilterError)
|
||||||
|
protected
|
||||||
|
public
|
||||||
|
constructor CreateError(Line, LinePos : Integer;
|
||||||
|
const Reason : DOMString);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function CheckException(const Ctl : TComponent;
|
||||||
|
const Res : Integer) : Integer;
|
||||||
|
function XlatException(const E : Exception) : Integer;
|
||||||
|
{-Translate an exception into an error code}
|
||||||
|
|
||||||
|
function AproLoadStr(const ErrorCode : SmallInt) : string;
|
||||||
|
function AproLoadAnsiStr(const ErrorCode : SmallInt) : AnsiString;
|
||||||
|
|
||||||
|
function AproLoadZ(P : PAnsiChar; Code : Integer) : PAnsiChar; // --sm ansi
|
||||||
|
|
||||||
|
function ErrorMsg(const ErrorCode : SmallInt) : string;
|
||||||
|
function MessageNumberToString(MessageNumber : SmallInt) : string;
|
||||||
|
{.Z-}
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ include AdStrMap here to prevent circular references in AdStrMap }
|
||||||
|
uses
|
||||||
|
AnsiStrings, AdStrMap;
|
||||||
|
|
||||||
|
function AproLoadZ(P : PAnsiChar; Code : Integer) : PAnsiChar;
|
||||||
|
begin
|
||||||
|
Result := AnsiStrings.StrPCopy(P, AproLoadAnsiStr(Code));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function AproLoadStr(const ErrorCode : SmallInt) : string;
|
||||||
|
{-Return an error message for ErrorCode}
|
||||||
|
begin
|
||||||
|
Result := MessageNumberToString(ErrorCode);
|
||||||
|
|
||||||
|
if Result = '' then
|
||||||
|
Result := SysErrorMessage(ErrorCode);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function AproLoadAnsiStr(const ErrorCode : SmallInt) : AnsiString;
|
||||||
|
begin
|
||||||
|
Result := AnsiString(AproLoadStr(ErrorCode));
|
||||||
|
end;
|
||||||
|
|
||||||
|
{Alias for function above}
|
||||||
|
function ErrorMsg(const ErrorCode : SmallInt) : string;
|
||||||
|
{-Return an error message for ErrorCode}
|
||||||
|
begin
|
||||||
|
Result := AproLoadStr(ErrorCode);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function MessageNumberToString(MessageNumber : SmallInt) : string;
|
||||||
|
var
|
||||||
|
Middle : integer;
|
||||||
|
Min : integer;
|
||||||
|
Max : integer;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
|
||||||
|
Min := 0;
|
||||||
|
Max := AdMaxMessages;
|
||||||
|
MessageNumber := abs(MessageNumber);
|
||||||
|
while (Min <= Max) do begin
|
||||||
|
Middle := Round ((Min + Max) / 2);
|
||||||
|
if abs(AdMessageNumberLookup[Middle].MessageNumber) = abs(MessageNumber) then begin
|
||||||
|
{ found it }
|
||||||
|
Result := AdMessageNumberLookup[Middle].MessageString;
|
||||||
|
Exit;
|
||||||
|
end else if abs(MessageNumber) < abs(AdMessageNumberLookup[Middle].MessageNumber) then
|
||||||
|
Max := Middle - 1
|
||||||
|
else
|
||||||
|
Min := Middle + 1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor EAPDException.Create(const EC : Integer; PassThru : Boolean);
|
||||||
|
begin
|
||||||
|
FErrorCode := EC;
|
||||||
|
inherited Create(AproLoadStr(Abs(EC)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor EAPDException.CreateUnknown(const Msg : String; Dummy : Byte);
|
||||||
|
begin
|
||||||
|
ErrorCode := 0;
|
||||||
|
|
||||||
|
inherited Create(Msg);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function EAPDException.MapCodeToStringID(const Code : Integer) : Word;
|
||||||
|
begin
|
||||||
|
Result := Abs(Code);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function CheckException(const Ctl : TComponent; const Res : Integer) : Integer;
|
||||||
|
{-Check Res, raise appropriate exception if non-zero}
|
||||||
|
var
|
||||||
|
ErrorMsg : String;
|
||||||
|
FileIO : EInOutError;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result := Res;
|
||||||
|
if (Res < ecOk) then
|
||||||
|
if not (csLoading in Ctl.ComponentState) then begin
|
||||||
|
case Res of
|
||||||
|
ecHardwareFailure..ecFileNotFound:
|
||||||
|
begin
|
||||||
|
{find the error message for the error}
|
||||||
|
ErrorMsg := AproLoadStr(Abs(Res));
|
||||||
|
|
||||||
|
{if we've run out of memory, raise that exception}
|
||||||
|
if (Res = ecOutOfMemory) then
|
||||||
|
OutOfMemoryError
|
||||||
|
|
||||||
|
{otherwise, raise a file I/O exception}
|
||||||
|
else begin
|
||||||
|
FileIO := EInOutError.Create(ErrorMsg);
|
||||||
|
FileIO.ErrorCode := Abs(Res);
|
||||||
|
raise FileIO;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{EGeneral}
|
||||||
|
ecBadArgument : raise EBadArgument.Create(Res, False);
|
||||||
|
ecGotQuitMsg : raise EGotQuitMsg.Create(Res, False);
|
||||||
|
ecBufferTooBig : raise EBufferTooBig.Create(Res, False);
|
||||||
|
ecPortNotAssigned : raise EPortNotAssigned.Create(Res, False);
|
||||||
|
ecInternal,
|
||||||
|
ecNoFieldsDefined,
|
||||||
|
ecNoIndexKey,
|
||||||
|
ecDatabaseNotPrepared : raise EInternal.Create(Res, False);
|
||||||
|
ecModemNotAssigned : raise EModemNotAssigned.Create(Res, False);
|
||||||
|
ecPhonebookNotAssigned : raise EPhonebookNotAssigned.Create(Res, False);
|
||||||
|
ecCannotUseWithWinSock : raise ECannotUseWithWinsock.Create(Res, False);
|
||||||
|
|
||||||
|
{EOpenComm}
|
||||||
|
ecBadId : raise EBadId.Create(Res, False);
|
||||||
|
ecBaudRate : raise EBaudRate.Create(Res, False);
|
||||||
|
ecByteSize : raise EByteSize.Create(Res, False);
|
||||||
|
ecDefault : raise EDefault.Create(Res, False);
|
||||||
|
ecHardware : raise EHardware.Create(Res, False);
|
||||||
|
ecMemory : raise EMemory.Create(Res, False);
|
||||||
|
ecCommNotOpen : raise ECommNotOpen.Create(Res, False);
|
||||||
|
ecAlreadyOpen : raise EAlreadyOpen.Create(Res, False);
|
||||||
|
ecNoHandles : raise ENoHandles.Create(Res, False);
|
||||||
|
ecNoTimers : raise ENoTimers.Create(Res, False);
|
||||||
|
ecNoPortSelected : raise ENoPortSelected.Create(Res, False);
|
||||||
|
ecNotOpenedByTapi : raise ENotOpenedByTapi.Create(Res, False);
|
||||||
|
|
||||||
|
{ESerialIO}
|
||||||
|
ecNullApi : raise ENullApi.Create(Res, False);
|
||||||
|
ecRegisterHandlerFailed : raise ERegisterHandlerFailed.Create(Res, False);
|
||||||
|
ecPutBlockFail : raise EPutBlockFail.Create(Res, False);
|
||||||
|
ecGetBlockFail : raise EGetBlockFail.Create(Res, False);
|
||||||
|
ecOutputBufferTooSmall : raise EOutputBufferTooSmall.Create(Res, False);
|
||||||
|
ecBufferIsEmpty : raise EBufferIsEmpty.Create(Res, False);
|
||||||
|
ecTracingNotEnabled : raise ETracingNotEnabled.Create(Res, False);
|
||||||
|
ecLoggingNotEnabled : raise ELoggingNotEnabled.Create(Res, False);
|
||||||
|
ecBaseAddressNotSet : raise EBaseAddressNotSet.Create(Res, False);
|
||||||
|
|
||||||
|
{EModem}
|
||||||
|
ecModemNotStarted : raise EModemNotStarted.Create(Res, False);
|
||||||
|
ecModemBusy : raise EModemBusy.Create(Res, False);
|
||||||
|
ecModemNotDialing : raise EModemNotDialing.Create(Res, False);
|
||||||
|
ecNotDialing : raise ENotDialing.Create(Res, False);
|
||||||
|
ecAlreadyDialing : raise EAlreadyDialing.Create(Res, False);
|
||||||
|
ecModemNotResponding : raise EModemNotResponding.Create(Res, False);
|
||||||
|
ecModemRejectedCommand : raise EModemRejectedCommand.Create(Res, False);
|
||||||
|
ecModemStatusMismatch : raise EModemStatusMismatch.Create(Res, False);
|
||||||
|
|
||||||
|
{ETrigger}
|
||||||
|
ecNoMoreTriggers : raise ENoMoreTriggers.Create(Res, False);
|
||||||
|
ecTriggerTooLong : raise ETriggerTooLong.Create(Res, False);
|
||||||
|
ecBadTriggerHandle : raise EBadTriggerHandle.Create(Res, False);
|
||||||
|
|
||||||
|
{EProtocol}
|
||||||
|
ecTimeout : raise EProtocol.Create(Res, False);
|
||||||
|
ecTooManyErrors : raise EProtocol.Create(Res, False);
|
||||||
|
ecSequenceError : raise EProtocol.Create(Res, False);
|
||||||
|
|
||||||
|
{EIni}
|
||||||
|
ecKeyTooLong : raise EKeyTooLong.Create(Res, False);
|
||||||
|
ecDataTooLarge : raise EDataTooLarge.Create(Res, False);
|
||||||
|
ecIniWrite : raise EIniWrite.Create(Res, False);
|
||||||
|
ecIniRead : raise EIniRead.Create(Res, False);
|
||||||
|
ecRecordExists : raise ERecordExists.Create(Res, False);
|
||||||
|
ecRecordNotFound : raise ERecordNotFound.Create(Res, False);
|
||||||
|
ecDatabaseFull : raise EDatabaseFull.Create(Res, False);
|
||||||
|
ecDatabaseEmpty : raise EDatabaseEmpty.Create(Res, False);
|
||||||
|
ecBadFieldList : raise EBadFieldList.Create(Res, False);
|
||||||
|
ecBadFieldForIndex : raise EBadFieldForIndex.Create(Res, False);
|
||||||
|
|
||||||
|
{EFax}
|
||||||
|
ecFaxBadFormat : raise EFaxBadFormat.Create(Res, False);
|
||||||
|
ecBadGraphicsFormat : raise EBadGraphicsFormat.Create(Res, False);
|
||||||
|
ecConvertAbort : raise EConvertAbort.Create(Res, False);
|
||||||
|
ecUnpackAbort : raise EUnpackAbort.Create(Res, False);
|
||||||
|
ecCantMakeBitmap : raise ECantMakeBitmap.Create(Res, False);
|
||||||
|
ecInvalidPageNumber : raise EInvalidPageNumber.Create(Res, False);
|
||||||
|
|
||||||
|
ecFaxBadMachine : raise EFaxBadMachine.Create(Res, False);
|
||||||
|
ecFaxBadModemResult : raise EFaxBadModemResult.Create(Res, False);
|
||||||
|
ecFaxTrainError : raise EFaxTrainError.Create(Res, False);
|
||||||
|
ecFaxInitError : raise EFaxInitError.Create(Res, False);
|
||||||
|
ecFaxBusy : raise EFaxBusy.Create(Res, False);
|
||||||
|
ecFaxVoiceCall : raise EFaxVoiceCall.Create(Res, False);
|
||||||
|
ecFaxDataCall : raise EFaxDataCall.Create(Res, False);
|
||||||
|
ecFaxNoDialTone : raise EFaxNoDialTone.Create(Res, False);
|
||||||
|
ecFaxNoCarrier : raise EFaxNoCarrier.Create(Res, False);
|
||||||
|
ecFaxSessionError : raise EFaxSessionError.Create(Res, False);
|
||||||
|
ecFaxPageError : raise EFaxPageError.Create(Res, False);
|
||||||
|
|
||||||
|
ecAllocated : raise ETapiAllocated.Create(Res, False);
|
||||||
|
ecBadDeviceID : raise ETapiBadDeviceID.Create(Res, False);
|
||||||
|
ecBearerModeUnavail : raise ETapiBearerModeUnavail.Create(Res, False);
|
||||||
|
ecCallUnavail : raise ETapiCallUnavail.Create(Res, False);
|
||||||
|
ecCompletionOverrun : raise ETapiCompletionOverrun.Create(Res, False);
|
||||||
|
ecConferenceFull : raise ETapiConferenceFull.Create(Res, False);
|
||||||
|
ecDialBilling : raise ETapiDialBilling.Create(Res, False);
|
||||||
|
ecDialDialtone : raise ETapiDialDialtone.Create(Res, False);
|
||||||
|
ecDialPrompt : raise ETapiDialPrompt.Create(Res, False);
|
||||||
|
ecDialQuiet : raise ETapiDialQuiet.Create(Res, False);
|
||||||
|
ecIncompatibleApiVersion: raise ETapiIncompatibleApiVersion.Create(Res, False);
|
||||||
|
ecIncompatibleExtVersion: raise ETapiIncompatibleExtVersion.Create(Res, False);
|
||||||
|
ecIniFileCorrupt : raise ETapiIniFileCorrupt.Create(Res, False);
|
||||||
|
ecInUse : raise ETapiInUse.Create(Res, False);
|
||||||
|
ecInvalAddress : raise ETapiInvalAddress.Create(Res, False);
|
||||||
|
ecInvalAddressID : raise ETapiInvalAddressID.Create(Res, False);
|
||||||
|
ecInvalAddressMode : raise ETapiInvalAddressMode.Create(Res, False);
|
||||||
|
ecInvalAddressState : raise ETapiInvalAddressState.Create(Res, False);
|
||||||
|
ecInvalAppHandle : raise ETapiInvalAppHandle.Create(Res, False);
|
||||||
|
ecInvalAppName : raise ETapiInvalAppName.Create(Res, False);
|
||||||
|
ecInvalBearerMode : raise ETapiInvalBearerMode.Create(Res, False);
|
||||||
|
ecInvalCallComplMode : raise ETapiInvalCallComplMode.Create(Res, False);
|
||||||
|
ecInvalCallHandle : raise ETapiInvalCallHandle.Create(Res, False);
|
||||||
|
ecInvalCallParams : raise ETapiInvalCallParams.Create(Res, False);
|
||||||
|
ecInvalCallPrivilege : raise ETapiInvalCallPrivilege.Create(Res, False);
|
||||||
|
ecInvalCallSelect : raise ETapiInvalCallSelect.Create(Res, False);
|
||||||
|
ecInvalCallState : raise ETapiInvalCallState.Create(Res, False);
|
||||||
|
ecInvalCallStatelist : raise ETapiInvalCallStatelist.Create(Res, False);
|
||||||
|
ecInvalCard : raise ETapiInvalCard.Create(Res, False);
|
||||||
|
ecInvalCompletionID : raise ETapiInvalCompletionID.Create(Res, False);
|
||||||
|
ecInvalConfCallHandle : raise ETapiInvalConfCallHandle.Create(Res, False);
|
||||||
|
ecInvalConsultCallHandle: raise ETapiInvalConsultCallHandle.Create(Res, False);
|
||||||
|
ecInvalCountryCode : raise ETapiInvalCountryCode.Create(Res, False);
|
||||||
|
ecInvalDeviceClass : raise ETapiInvalDeviceClass.Create(Res, False);
|
||||||
|
ecInvalDeviceHandle : raise ETapiInvalDeviceHandle.Create(Res, False);
|
||||||
|
ecInvalDialParams : raise ETapiInvalDialParams.Create(Res, False);
|
||||||
|
ecInvalDigitList : raise ETapiInvalDigitList.Create(Res, False);
|
||||||
|
ecInvalDigitMode : raise ETapiInvalDigitMode.Create(Res, False);
|
||||||
|
ecInvalDigits : raise ETapiInvalDigits.Create(Res, False);
|
||||||
|
ecInvalExtVersion : raise ETapiInvalExtVersion.Create(Res, False);
|
||||||
|
ecInvalGroupID : raise ETapiInvalGroupID.Create(Res, False);
|
||||||
|
ecInvalLineHandle : raise ETapiInvalLineHandle.Create(Res, False);
|
||||||
|
ecInvalLineState : raise ETapiInvalLineState.Create(Res, False);
|
||||||
|
ecInvalLocation : raise ETapiInvalLocation.Create(Res, False);
|
||||||
|
ecInvalMediaList : raise ETapiInvalMediaList.Create(Res, False);
|
||||||
|
ecInvalMediaMode : raise ETapiInvalMediaMode.Create(Res, False);
|
||||||
|
ecInvalMessageID : raise ETapiInvalMessageID.Create(Res, False);
|
||||||
|
ecInvalParam : raise ETapiInvalParam.Create(Res, False);
|
||||||
|
ecInvalParkID : raise ETapiInvalParkID.Create(Res, False);
|
||||||
|
ecInvalParkMode : raise ETapiInvalParkMode.Create(Res, False);
|
||||||
|
ecInvalPointer : raise ETapiInvalPointer.Create(Res, False);
|
||||||
|
ecInvalPrivSelect : raise ETapiInvalPrivSelect.Create(Res, False);
|
||||||
|
ecInvalRate : raise ETapiInvalRate.Create(Res, False);
|
||||||
|
ecInvalRequestMode : raise ETapiInvalRequestMode.Create(Res, False);
|
||||||
|
ecInvalTerminalID : raise ETapiInvalTerminalID.Create(Res, False);
|
||||||
|
ecInvalTerminalMode : raise ETapiInvalTerminalMode.Create(Res, False);
|
||||||
|
ecInvalTimeout : raise ETapiInvalTimeout.Create(Res, False);
|
||||||
|
ecInvalTone : raise ETapiInvalTone.Create(Res, False);
|
||||||
|
ecInvalToneList : raise ETapiInvalToneList.Create(Res, False);
|
||||||
|
ecInvalToneMode : raise ETapiInvalToneMode.Create(Res, False);
|
||||||
|
ecInvalTransferMode : raise ETapiInvalTransferMode.Create(Res, False);
|
||||||
|
ecLineMapperFailed : raise ETapiLineMapperFailed.Create(Res, False);
|
||||||
|
ecNoConference : raise ETapiNoConference.Create(Res, False);
|
||||||
|
ecNoDevice : raise ETapiNoDevice.Create(Res, False);
|
||||||
|
ecNoDriver : raise ETapiNoDriver.Create(Res, False);
|
||||||
|
ecNoMem : raise ETapiNoMem.Create(Res, False);
|
||||||
|
ecNoRequest : raise ETapiNoRequest.Create(Res, False);
|
||||||
|
ecNotOwner : raise ETapiNotOwner.Create(Res, False);
|
||||||
|
ecNotRegistered : raise ETapiNotRegistered.Create(Res, False);
|
||||||
|
ecOperationFailed : raise ETapiOperationFailed.Create(Res, False);
|
||||||
|
ecOperationUnavail : raise ETapiOperationUnavail.Create(Res, False);
|
||||||
|
ecRateUnavail : raise ETapiRateUnavail.Create(Res, False);
|
||||||
|
ecResourceUnavail : raise ETapiResourceUnavail.Create(Res, False);
|
||||||
|
ecRequestOverrun : raise ETapiRequestOverrun.Create(Res, False);
|
||||||
|
ecStructureTooSmall : raise ETapiStructureTooSmall.Create(Res, False);
|
||||||
|
ecTargetNotFound : raise ETapiTargetNotFound.Create(Res, False);
|
||||||
|
ecTargetSelf : raise ETapiTargetSelf.Create(Res, False);
|
||||||
|
ecUninitialized : raise ETapiUninitialized.Create(Res, False);
|
||||||
|
ecUserUserInfoTooBig : raise ETapiUserUserInfoTooBig.Create(Res, False);
|
||||||
|
ecReinit : raise ETapiReinit.Create(Res, False);
|
||||||
|
ecAddressBlocked : raise ETapiAddressBlocked.Create(Res, False);
|
||||||
|
ecBillingRejected : raise ETapiBillingRejected.Create(Res, False);
|
||||||
|
ecInvalFeature : raise ETapiInvalFeature.Create(Res, False);
|
||||||
|
ecNoMultipleInstance : raise ETapiNoMultipleInstance.Create(Res, False);
|
||||||
|
ecTapiBusy : raise ETapiBusy.Create(Res, False);
|
||||||
|
ecTapiNotSet : raise ETapiNotSet.Create(Res, False);
|
||||||
|
ecTapiNoSelect : raise ETapiNoSelect.Create(Res, False);
|
||||||
|
ecTapiLoadFail : raise ETapiLoadFail.Create(Res, False);
|
||||||
|
ecTapiGetAddrFail : raise ETapiGetAddrFail.Create(Res, False);
|
||||||
|
ecTapiVoiceNotSupported : raise ETapiVoiceNotSupported.Create(Res, False);
|
||||||
|
ecTapiWaveFail : raise ETapiWaveFail.Create(Res, False);
|
||||||
|
ecTapiTranslateFail : raise ETapiTranslateFail.Create(Res, False);
|
||||||
|
|
||||||
|
{ERas}
|
||||||
|
ecRasLoadFail : raise ERasLoadFail.Create(Res, False);
|
||||||
|
|
||||||
|
{Couldn't find error message}
|
||||||
|
else raise EAPDException.CreateUnknown('Apro exception', 0);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function XlatException(const E : Exception) : Integer;
|
||||||
|
{-Translate an exception into an error code}
|
||||||
|
begin
|
||||||
|
if (E is EApdException) then
|
||||||
|
Result := EApdException(E).ErrorCode
|
||||||
|
else if (E is EInOutError) then
|
||||||
|
Result := -EInOutError(E).ErrorCode
|
||||||
|
else if (E is EOutOfMemory) then
|
||||||
|
Result := ecOutOfMemory
|
||||||
|
else
|
||||||
|
Result := -9999;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ EAdStreamError }
|
||||||
|
|
||||||
|
constructor EAdStreamError.CreateError(const FilePos: Integer;
|
||||||
|
const Reason: DOMString);
|
||||||
|
begin
|
||||||
|
inherited CreateUnknown(Reason, 0);
|
||||||
|
seFilePos := FilePos;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ EAdFilterError }
|
||||||
|
|
||||||
|
constructor EAdFilterError.CreateError(const FilePos, Line,
|
||||||
|
LinePos: Integer; const Reason: DOMString);
|
||||||
|
begin
|
||||||
|
inherited CreateError(FilePos, Reason);
|
||||||
|
|
||||||
|
feLine := Line;
|
||||||
|
feLinePos := LinePos;
|
||||||
|
feReason := Reason;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ EAdParserError }
|
||||||
|
|
||||||
|
constructor EAdParserError.CreateError(Line, LinePos: Integer;
|
||||||
|
const Reason: DOMString);
|
||||||
|
begin
|
||||||
|
inherited CreateError(FilePos, Line, LinePos, Reason);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ EApdGSMPhoneException }
|
||||||
|
|
||||||
|
constructor EApdGSMPhoneException.Create(const ErrCode: Integer;
|
||||||
|
const Msg: string);
|
||||||
|
begin
|
||||||
|
inherited Create (Msg);
|
||||||
|
|
||||||
|
FErrorCode := ErrCode;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{ EApdPagerException }
|
||||||
|
|
||||||
|
constructor EApdPagerException.Create(const ErrCode: Integer;
|
||||||
|
const Msg: string);
|
||||||
|
begin
|
||||||
|
inherited Create (Msg);
|
||||||
|
|
||||||
|
FErrorCode := ErrCode;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
+3016
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,74 @@
|
|||||||
|
object ComSelectForm: TComSelectForm
|
||||||
|
Left = 336
|
||||||
|
Top = 234
|
||||||
|
BorderIcons = [biSystemMenu]
|
||||||
|
BorderStyle = bsDialog
|
||||||
|
Caption = 'Select Port'
|
||||||
|
ClientHeight = 131
|
||||||
|
ClientWidth = 220
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clBlack
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
OldCreateOrder = True
|
||||||
|
Position = poScreenCenter
|
||||||
|
OnCreate = FormCreate
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 18
|
||||||
|
Top = 14
|
||||||
|
Width = 176
|
||||||
|
Height = 13
|
||||||
|
Caption = 'The configured serial port is not valid.'
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
Left = 18
|
||||||
|
Top = 30
|
||||||
|
Width = 133
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Please choose another port.'
|
||||||
|
end
|
||||||
|
object Bevel1: TBevel
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 201
|
||||||
|
Height = 42
|
||||||
|
end
|
||||||
|
object OkBtn: TBitBtn
|
||||||
|
Left = 8
|
||||||
|
Top = 95
|
||||||
|
Width = 85
|
||||||
|
Height = 27
|
||||||
|
Caption = 'OK'
|
||||||
|
Default = True
|
||||||
|
DoubleBuffered = True
|
||||||
|
ModalResult = 1
|
||||||
|
NumGlyphs = 2
|
||||||
|
ParentDoubleBuffered = False
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object AbortBtn: TBitBtn
|
||||||
|
Left = 124
|
||||||
|
Top = 95
|
||||||
|
Width = 85
|
||||||
|
Height = 27
|
||||||
|
Caption = 'Cancel'
|
||||||
|
DoubleBuffered = True
|
||||||
|
ModalResult = 3
|
||||||
|
NumGlyphs = 2
|
||||||
|
ParentDoubleBuffered = False
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object PortsComboBox: TComboBox
|
||||||
|
Left = 8
|
||||||
|
Top = 64
|
||||||
|
Width = 201
|
||||||
|
Height = 21
|
||||||
|
Style = csDropDownList
|
||||||
|
ItemHeight = 0
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
end
|
||||||
+198
@@ -0,0 +1,198 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Sebastian Zierer
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* ADSELCOM.PAS 5.00 *}
|
||||||
|
{*********************************************************}
|
||||||
|
{* Port selection dialog, IsPortAvailable method *}
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
{Global defines potentially affecting this unit}
|
||||||
|
{$I AWDEFINE.INC}
|
||||||
|
|
||||||
|
{Options required for this unit}
|
||||||
|
{$G+,X+,F+,J+}
|
||||||
|
{$C MOVEABLE,DEMANDLOAD,DISCARDABLE}
|
||||||
|
|
||||||
|
unit AdSelCom;
|
||||||
|
{-Com port selection dialog}
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows,
|
||||||
|
SysUtils,
|
||||||
|
Classes,
|
||||||
|
Messages,
|
||||||
|
Graphics,
|
||||||
|
Controls,
|
||||||
|
Forms,
|
||||||
|
Dialogs,
|
||||||
|
StdCtrls,
|
||||||
|
ExtCtrls,
|
||||||
|
Buttons,
|
||||||
|
OoMisc,
|
||||||
|
AwUser,
|
||||||
|
{$IFNDEF UseAwWin32}
|
||||||
|
LnsWin32;
|
||||||
|
{$ELSE}
|
||||||
|
AwWin32;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
type
|
||||||
|
TComSelectForm = class(TForm)
|
||||||
|
Label1: TLabel;
|
||||||
|
Label2: TLabel;
|
||||||
|
OkBtn: TBitBtn;
|
||||||
|
AbortBtn: TBitBtn;
|
||||||
|
Bevel1: TBevel;
|
||||||
|
PortsComboBox: TComboBox;
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
public
|
||||||
|
function SelectedCom : String;
|
||||||
|
function SelectedComNum : Word;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function IsPortAvailable(ComNum : Cardinal) : Boolean;
|
||||||
|
|
||||||
|
const
|
||||||
|
{True to create a dispatcher to validate the port; false to open the
|
||||||
|
port using direct API calls}
|
||||||
|
UseDispatcherForAvail : Boolean = True;
|
||||||
|
{True to return True even if the port is in use; False to return False
|
||||||
|
if the port is in use}
|
||||||
|
ShowPortsInUse : Boolean = True;
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.DFM}
|
||||||
|
|
||||||
|
function IsPortAvailable(ComNum : Cardinal) : Boolean;
|
||||||
|
function MakeComName(const Dest : PChar; const ComNum : Cardinal) : PChar;
|
||||||
|
{-Return a string like 'COMXX'}
|
||||||
|
begin
|
||||||
|
StrFmt(Dest,'\\.\COM%d',[ComNum]);
|
||||||
|
MakeComName := Dest;
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
ComName : array[0..12] of Char;
|
||||||
|
Res : Integer;
|
||||||
|
DeviceLayer : TApdBaseDispatcher;
|
||||||
|
CC: TCommConfig;
|
||||||
|
Len: Cardinal;
|
||||||
|
begin
|
||||||
|
DeviceLayer := nil;
|
||||||
|
try
|
||||||
|
if (ComNum = 0) then
|
||||||
|
Result := False
|
||||||
|
else begin
|
||||||
|
if UseDispatcherForAvail then
|
||||||
|
begin
|
||||||
|
DeviceLayer := TApdWin32Dispatcher.Create(nil);
|
||||||
|
|
||||||
|
if ShowPortsInUse then
|
||||||
|
begin
|
||||||
|
Result := DeviceLayer.CheckPort(MakeComName(ComName,ComNum));
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Res := DeviceLayer.OpenCom(MakeComName(ComName,ComNum), 64, 64);
|
||||||
|
if (Res < 0) then
|
||||||
|
if ShowPortsInUse then
|
||||||
|
Result := GetLastError = DWORD(Abs(ecAccessDenied))
|
||||||
|
else
|
||||||
|
Result := False
|
||||||
|
else begin
|
||||||
|
Result := True;
|
||||||
|
DeviceLayer.CloseCom;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end else
|
||||||
|
begin
|
||||||
|
if ShowPortsInUse then //SZ: optimize this one - otherwise bluetooth devices may request confirmation
|
||||||
|
begin
|
||||||
|
FillChar(CC, SizeOf(CC), 0);
|
||||||
|
CC.dwSize := SizeOf(CC);
|
||||||
|
Len := SizeOf(CC);
|
||||||
|
Result := GetDefaultCommConfig(MakeComName(ComName, ComNum) + 4, CC, Len);
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Res := CreateFile(MakeComName(ComName, ComNum),
|
||||||
|
GENERIC_READ or GENERIC_WRITE,
|
||||||
|
0,
|
||||||
|
nil,
|
||||||
|
OPEN_EXISTING,
|
||||||
|
FILE_ATTRIBUTE_NORMAL or
|
||||||
|
FILE_FLAG_OVERLAPPED,
|
||||||
|
0);
|
||||||
|
|
||||||
|
if Res > 0 then begin
|
||||||
|
CloseHandle(Res);
|
||||||
|
Result := True;
|
||||||
|
end else begin
|
||||||
|
if ShowPortsInUse then
|
||||||
|
Result := GetLastError = DWORD(Abs(ecAccessDenied))
|
||||||
|
else
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
if UseDispatcherForAvail then
|
||||||
|
DeviceLayer.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TComSelectForm.FormCreate(Sender: TObject);
|
||||||
|
var
|
||||||
|
I : Integer;
|
||||||
|
S : string;
|
||||||
|
begin
|
||||||
|
for I := 1 to MaxComHandles do
|
||||||
|
if IsPortAvailable(I) then begin
|
||||||
|
S := Format('COM%d', [I]);
|
||||||
|
PortsComboBox.Items.Add(S);
|
||||||
|
end;
|
||||||
|
PortsComboBox.ItemIndex := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TComSelectForm.SelectedCom : String;
|
||||||
|
begin
|
||||||
|
Result := PortsComboBox.Items[PortsComboBox.ItemIndex];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TComSelectForm.SelectedComNum : Word;
|
||||||
|
var
|
||||||
|
S : String;
|
||||||
|
begin
|
||||||
|
S := PortsComboBox.Items[PortsComboBox.ItemIndex];
|
||||||
|
S := Copy(S, 4, 255);
|
||||||
|
Result := StrToInt(S);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
+959
@@ -0,0 +1,959 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* ADSTRMAP.PAS 4.06 *}
|
||||||
|
{*********************************************************}
|
||||||
|
(* Defines the string mapping tables *)
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
{
|
||||||
|
This replaces the string resource manager. Disable the
|
||||||
|
UseResourceStrings define in AwDefine.inc to use the string
|
||||||
|
resource manager instead if desired.
|
||||||
|
}
|
||||||
|
{Global defines potentially affecting this unit}
|
||||||
|
{$I AWDEFINE.INC}
|
||||||
|
|
||||||
|
unit AdStrMap;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
OOMisc, AdExcept;
|
||||||
|
|
||||||
|
const
|
||||||
|
AdMaxMessages = 896; { the number of messages in the message map array } // SWB
|
||||||
|
|
||||||
|
type
|
||||||
|
AdMessageNumberLookupRecord = record
|
||||||
|
MessageNumber : integer;
|
||||||
|
MessageString : string;
|
||||||
|
end;
|
||||||
|
|
||||||
|
const
|
||||||
|
AdMessageNumberLookup : array [0..AdMaxMessages] of AdMessageNumberLookupRecord =(
|
||||||
|
{ # } {Error mnemonic or code} {Error string}
|
||||||
|
{ 0}(MessageNumber : ecOK; MessageString : secOK),
|
||||||
|
{ 2}(MessageNumber : ecFileNotFound; MessageString : secFileNotFound),
|
||||||
|
{ 3}(MessageNumber : ecPathNotFound; MessageString : secPathNotFound),
|
||||||
|
{ 4}(MessageNumber : ecTooManyFiles; MessageString : secTooManyFiles),
|
||||||
|
{ 5}(MessageNumber : ecAccessDenied; MessageString : secAccessDenied),
|
||||||
|
{ 6}(MessageNumber : ecInvalidHandle; MessageString : secInvalidHandle),
|
||||||
|
{ 8}(MessageNumber : ecOutOfMemory; MessageString : secOutOfMemory),
|
||||||
|
{ 15}(MessageNumber : ecInvalidDrive; MessageString : secInvalidDrive),
|
||||||
|
{ 18}(MessageNumber : ecNoMoreFiles; MessageString : secNoMoreFiles),
|
||||||
|
{ 100}(MessageNumber : ecDiskRead; MessageString : secDiskRead),
|
||||||
|
{ 101}(MessageNumber : ecDiskFull; MessageString : secDiskFull),
|
||||||
|
{ 102}(MessageNumber : ecNotAssigned; MessageString : secNotAssigned),
|
||||||
|
{ 103}(MessageNumber : ecNotOpen; MessageString : secNotOpen),
|
||||||
|
{ 104}(MessageNumber : ecNotOpenInput; MessageString : secNotOpenInput),
|
||||||
|
{ 105}(MessageNumber : ecNotOpenOutput; MessageString : secNotOpenOutput),
|
||||||
|
{ 150}(MessageNumber : ecWriteProtected; MessageString : secWriteProtected),
|
||||||
|
{ 151}(MessageNumber : ecUnknownUnit; MessageString : secUnknownUnit),
|
||||||
|
{ 152}(MessageNumber : ecDriveNotReady; MessageString : secDriveNotReady),
|
||||||
|
{ 153}(MessageNumber : ecUnknownCommand; MessageString : secUnknownCommand),
|
||||||
|
{ 154}(MessageNumber : ecCrcError; MessageString : secCrcError),
|
||||||
|
{ 155}(MessageNumber : ecBadStructLen; MessageString : secBadStructLen),
|
||||||
|
{ 156}(MessageNumber : ecSeekError; MessageString : secSeekError),
|
||||||
|
{ 157}(MessageNumber : ecUnknownMedia; MessageString : secUnknownMedia),
|
||||||
|
{ 158}(MessageNumber : ecSectorNotFound; MessageString : secSectorNotFound),
|
||||||
|
{ 159}(MessageNumber : ecOutOfPaper; MessageString : secOutOfPaper),
|
||||||
|
{ 160}(MessageNumber : ecDeviceWrite; MessageString : secDeviceWrite),
|
||||||
|
{ 161}(MessageNumber : ecDeviceRead; MessageString : secDeviceRead),
|
||||||
|
{ 162}(MessageNumber : ecHardwareFailure; MessageString : secHardwareFailure),
|
||||||
|
{ 1001}(MessageNumber : ecBadHandle; MessageString : secBadHandle),
|
||||||
|
{ 1002}(MessageNumber : ecBadArgument; MessageString : secBadArgument),
|
||||||
|
{ 1003}(MessageNumber : ecGotQuitMsg; MessageString : secGotQuitMsg),
|
||||||
|
{ 1004}(MessageNumber : ecBufferTooBig; MessageString : secBufferTooBig),
|
||||||
|
{ 1005}(MessageNumber : ecPortNotAssigned; MessageString : secPortNotAssigned),
|
||||||
|
{ 1006}(MessageNumber : ecInternal; MessageString : secInternal),
|
||||||
|
{ 1007}(MessageNumber : ecModemNotAssigned; MessageString : secModemNotAssigned),
|
||||||
|
{ 1008}(MessageNumber : ecPhonebookNotAssigned; MessageString : secPhonebookNotAssigned),
|
||||||
|
{ 1009}(MessageNumber : ecCannotUseWithWinSock; MessageString : secCannotUseWithWinSock),
|
||||||
|
{ 2001}(MessageNumber : ecBadId; MessageString : secBadId),
|
||||||
|
{ 2002}(MessageNumber : ecBaudRate; MessageString : secBaudRate),
|
||||||
|
{ 2003}(MessageNumber : ecByteSize; MessageString : secByteSize),
|
||||||
|
{ 2004}(MessageNumber : ecDefault; MessageString : secDefault),
|
||||||
|
{ 2005}(MessageNumber : ecHardware; MessageString : secHardware),
|
||||||
|
{ 2006}(MessageNumber : ecMemory; MessageString : secMemory),
|
||||||
|
{ 2007}(MessageNumber : ecCommNotOpen; MessageString : secCommNotOpen),
|
||||||
|
{ 2008}(MessageNumber : ecAlreadyOpen; MessageString : secAlreadyOpen),
|
||||||
|
{ 2009}(MessageNumber : ecNoHandles; MessageString : secNoHandles),
|
||||||
|
{ 2010}(MessageNumber : ecNoTimers; MessageString : secNoTimers),
|
||||||
|
{ 2011}(MessageNumber : ecNoPortSelected; MessageString : secNoPortSelected),
|
||||||
|
{ 2012}(MessageNumber : ecNotOpenedByTapi; MessageString : secNotOpenedByTapi),
|
||||||
|
{ 3001}(MessageNumber : ecNullApi; MessageString : secNullApi),
|
||||||
|
{ 3002}(MessageNumber : ecNotSupported; MessageString : secNotSupported),
|
||||||
|
{ 3003}(MessageNumber : ecRegisterHandlerFailed; MessageString : secRegisterHandlerFailed),
|
||||||
|
{ 3004}(MessageNumber : ecPutBlockFail; MessageString : secPutBlockFail),
|
||||||
|
{ 3005}(MessageNumber : ecGetBlockFail; MessageString : secGetBlockFail),
|
||||||
|
{ 3006}(MessageNumber : ecOutputBufferTooSmall; MessageString : secOutputBufferTooSmall),
|
||||||
|
{ 3007}(MessageNumber : ecBufferIsEmpty; MessageString : secBufferIsEmpty),
|
||||||
|
{ 3008}(MessageNumber : ecTracingNotEnabled; MessageString : secTracingNotEnabled),
|
||||||
|
{ 3009}(MessageNumber : ecLoggingNotEnabled; MessageString : secLoggingNotEnabled),
|
||||||
|
{ 3010}(MessageNumber : ecBaseAddressNotSet; MessageString : secBaseAddressNotSet),
|
||||||
|
{ 4001}(MessageNumber : ecModemNotStarted; MessageString : secModemNotStarted),
|
||||||
|
{ 4002}(MessageNumber : ecModemBusy; MessageString : secModemBusy),
|
||||||
|
{ 4003}(MessageNumber : ecModemNotDialing; MessageString : secModemNotDialing),
|
||||||
|
{ 4004}(MessageNumber : ecNotDialing; MessageString : secNotDialing),
|
||||||
|
{ 4005}(MessageNumber : ecAlreadyDialing; MessageString : secAlreadyDialing),
|
||||||
|
{ 4006}(MessageNumber : ecModemNotResponding; MessageString : secModemNotResponding),
|
||||||
|
{ 4007}(MessageNumber : ecModemRejectedCommand; MessageString : secModemRejectedCommand),
|
||||||
|
{ 4008}(MessageNumber : ecModemStatusMismatch; MessageString : secModemStatusMismatch),
|
||||||
|
{ 4009}(MessageNumber : ecDeviceNotSelected; MessageString : secDeviceNotSelected),
|
||||||
|
{ 4010}(MessageNumber : ecModemDetectedBusy; MessageString : secModemDetectedBusy),
|
||||||
|
{ 4011}(MessageNumber : ecModemNoDialtone; MessageString : secModemNoDialtone),
|
||||||
|
{ 4012}(MessageNumber : ecModemNoCarrier; MessageString : secModemNoCarrier),
|
||||||
|
{ 4013}(MessageNumber : ecModemNoAnswer; MessageString : secModemNoAnswer),
|
||||||
|
{ 4014}(MessageNumber : ecInitFail; MessageString : secInitFail),
|
||||||
|
{ 4015}(MessageNumber : ecLoginFail; MessageString : secLoginFail),
|
||||||
|
{ 4016}(MessageNumber : ecMinorSrvErr; MessageString : secMinorSrvErr),
|
||||||
|
{ 4017}(MessageNumber : ecFatalSrvErr; MessageString : secFatalSrvErr),
|
||||||
|
{ 4020}(MessageNumber : ecModemNotFound; MessageString : secModemNotFound),
|
||||||
|
{ 4021}(MessageNumber : ecInvalidFile; MessageString : secInvalidFile),
|
||||||
|
{ 4101}(MessageNumber : 4101; MessageString : spbeDeleteQuery),
|
||||||
|
{ 4200}(MessageNumber : 4200; MessageString : sdsmMsgBase),
|
||||||
|
{ 4201}(MessageNumber : 4201; MessageString : sdsmMsgReady),
|
||||||
|
{ 4202}(MessageNumber : 4202; MessageString : sdsmMsgInitialize),
|
||||||
|
{ 4203}(MessageNumber : 4203; MessageString : sdsmMsgInitializeTimeout),
|
||||||
|
{ 4204}(MessageNumber : 4204; MessageString : sdsmMsgAutoAnswerBackground),
|
||||||
|
{ 4205}(MessageNumber : 4205; MessageString : sdsmMsgAutoAnswerWait),
|
||||||
|
{ 4206}(MessageNumber : 4206; MessageString : sdsmMsgAnswerWait),
|
||||||
|
{ 4207}(MessageNumber : 4207; MessageString : sdsmMsgDialWait),
|
||||||
|
{ 4208}(MessageNumber : 4208; MessageString : sdsmMsgDialCycle),
|
||||||
|
{ 4209}(MessageNumber : 4209; MessageString : sdsmMsgNoDialtone),
|
||||||
|
{ 4210}(MessageNumber : 4210; MessageString : sdsmMsgConnectWait),
|
||||||
|
{ 4211}(MessageNumber : 4211; MessageString : sdsmMsgConnected),
|
||||||
|
{ 4212}(MessageNumber : 4212; MessageString : sdsmMsgHangup),
|
||||||
|
{ 4213}(MessageNumber : 4213; MessageString : sdsmMsgCancel),
|
||||||
|
{ 4301}(MessageNumber : 4301; MessageString : sdddCycling),
|
||||||
|
{ 4302}(MessageNumber : 4302; MessageString : sdddRetryWaiting),
|
||||||
|
{ 4303}(MessageNumber : 4303; MessageString : sdddRetryWaitOver),
|
||||||
|
{ 4304}(MessageNumber : 4304; MessageString : sdddDialing),
|
||||||
|
{ 4305}(MessageNumber : 4305; MessageString : sdddModemConnect),
|
||||||
|
{ 4306}(MessageNumber : 4306; MessageString : sdddModemConnectAt),
|
||||||
|
{ 4307}(MessageNumber : 4307; MessageString : sdddModemVoice),
|
||||||
|
{ 4308}(MessageNumber : 4308; MessageString : sdddModemError),
|
||||||
|
{ 4309}(MessageNumber : 4309; MessageString : sdddModemNoCarrier),
|
||||||
|
{ 4310}(MessageNumber : 4310; MessageString : sdddModemBusy),
|
||||||
|
{ 4311}(MessageNumber : 4311; MessageString : sdddModemNoDialTone),
|
||||||
|
{ 4312}(MessageNumber : 4312; MessageString : sdddDialTimedOut),
|
||||||
|
{ 4401}(MessageNumber : 4401; MessageString : sdpeMustEnterName),
|
||||||
|
{ 4402}(MessageNumber : 4402; MessageString : sdpeMustEnterNumber),
|
||||||
|
{ 4403}(MessageNumber : 4403; MessageString : sdpeNameExists),
|
||||||
|
{ 4500}(MessageNumber : csOpenPort; MessageString : scsOpenPort),
|
||||||
|
{ 4501}(MessageNumber : csPortOpened; MessageString : scsPortOpened),
|
||||||
|
{ 4502}(MessageNumber : csConnectDevice; MessageString : scsConnectDevice),
|
||||||
|
{ 4503}(MessageNumber : csDeviceConnected; MessageString : scsDeviceConnected),
|
||||||
|
{ 4504}(MessageNumber : csAllDevicesConnected; MessageString : scsAllDevicesConnected),
|
||||||
|
{ 4505}(MessageNumber : csAuthenticate; MessageString : scsAuthenticate),
|
||||||
|
{ 4506}(MessageNumber : csAuthNotify; MessageString : scsAuthNotify),
|
||||||
|
{ 4507}(MessageNumber : csAuthRetry; MessageString : scsAuthRetry),
|
||||||
|
{ 4508}(MessageNumber : csAuthCallback; MessageString : scsAuthCallback),
|
||||||
|
{ 4509}(MessageNumber : csAuthChangePassword; MessageString : scsAuthChangePassword),
|
||||||
|
{ 4510}(MessageNumber : csAuthProject; MessageString : scsAuthProject),
|
||||||
|
{ 4511}(MessageNumber : csAuthLinkSpeed; MessageString : scsAuthLinkSpeed),
|
||||||
|
{ 4512}(MessageNumber : csAuthAck; MessageString : scsAuthAck),
|
||||||
|
{ 4513}(MessageNumber : csReAuthenticate; MessageString : scsReAuthenticate),
|
||||||
|
{ 4514}(MessageNumber : csAuthenticated; MessageString : scsAuthenticated),
|
||||||
|
{ 4515}(MessageNumber : csPrepareForCallback; MessageString : scsPrepareForCallback),
|
||||||
|
{ 4516}(MessageNumber : csWaitForModemReset; MessageString : scsWaitForModemReset),
|
||||||
|
{ 4517}(MessageNumber : csWaitForCallback; MessageString : scsWaitForCallback),
|
||||||
|
{ 4518}(MessageNumber : csProjected; MessageString : scsProjected),
|
||||||
|
{ 4519}(MessageNumber : csStartAuthentication; MessageString : scsStartAuthentication),
|
||||||
|
{ 4520}(MessageNumber : csCallbackComplete; MessageString : scsCallbackComplete),
|
||||||
|
{ 4521}(MessageNumber : csLogonNetwork; MessageString : scsLogonNetwork),
|
||||||
|
{ 4522}(MessageNumber : csSubEntryConnected; MessageString : scsSubEntryConnected),
|
||||||
|
{ 4523}(MessageNumber : csSubEntryDisconnected; MessageString : scsSubEntryDisconnected),
|
||||||
|
{ 4550}(MessageNumber : csRasInteractive; MessageString : scsRasInteractive),
|
||||||
|
{ 4551}(MessageNumber : csRasRetryAuthentication; MessageString : scsRasRetryAuthentication),
|
||||||
|
{ 4552}(MessageNumber : csRasCallbackSetByCaller; MessageString : scsRasCallbackSetByCaller),
|
||||||
|
{ 4553}(MessageNumber : csRasPasswordExpired; MessageString : scsRasPasswordExpired),
|
||||||
|
{ 4599}(MessageNumber : csRasDeviceConnected; MessageString : scsRasDeviceConnected),
|
||||||
|
{ 4600}(MessageNumber : 4600; MessageString : sPDS_NONE),
|
||||||
|
{ 4601}(MessageNumber : 4601; MessageString : sPDS_OFFHOOK),
|
||||||
|
{ 4602}(MessageNumber : 4602; MessageString : sPDS_DIALING),
|
||||||
|
{ 4603}(MessageNumber : 4603; MessageString : sPDS_RINGING),
|
||||||
|
{ 4604}(MessageNumber : 4604; MessageString : sPDS_WAITFORCONNECT),
|
||||||
|
{ 4605}(MessageNumber : 4605; MessageString : sPDS_CONNECTED),
|
||||||
|
{ 4606}(MessageNumber : 4606; MessageString : sPDS_WAITINGTOREDIAL),
|
||||||
|
{ 4607}(MessageNumber : 4607; MessageString : sPDS_REDIALING),
|
||||||
|
{ 4608}(MessageNumber : 4608; MessageString : sPDS_MSGNOTSENT),
|
||||||
|
{ 4609}(MessageNumber : 4609; MessageString : sPDS_CANCELLING),
|
||||||
|
{ 4610}(MessageNumber : 4610; MessageString : sPDS_DISCONNECT),
|
||||||
|
{ 4611}(MessageNumber : 4611; MessageString : sPDS_CLEANUP),
|
||||||
|
{ 4630}(MessageNumber : 4630; MessageString : sPDE_NONE),
|
||||||
|
{ 4631}(MessageNumber : 4631; MessageString : sPDE_NODIALTONE),
|
||||||
|
{ 4632}(MessageNumber : 4632; MessageString : sPDE_LINEBUSY),
|
||||||
|
{ 4633}(MessageNumber : 4633; MessageString : sPDE_NOCONNECTION),
|
||||||
|
{ 4660}(MessageNumber : 4660; MessageString : sTAPS_NONE),
|
||||||
|
{ 4661}(MessageNumber : 4661; MessageString : sTAPS_LOGINPROMPT),
|
||||||
|
{ 4662}(MessageNumber : 4662; MessageString : sTAPS_LOGGEDIN),
|
||||||
|
{ 4663}(MessageNumber : 4663; MessageString : sTAPS_LOGINERR),
|
||||||
|
{ 4664}(MessageNumber : 4664; MessageString : sTAPS_LOGINFAIL),
|
||||||
|
{ 4665}(MessageNumber : 4665; MessageString : sTAPS_MSGOKTOSEND),
|
||||||
|
{ 4666}(MessageNumber : 4666; MessageString : sTAPS_SENDINGMSG),
|
||||||
|
{ 4667}(MessageNumber : 4667; MessageString : sTAPS_MSGACK),
|
||||||
|
{ 4668}(MessageNumber : 4668; MessageString : sTAPS_MSGNAK),
|
||||||
|
{ 4669}(MessageNumber : 4669; MessageString : sTAPS_MSGRS),
|
||||||
|
{ 4670}(MessageNumber : 4670; MessageString : sTAPS_MSGCOMPLETED),
|
||||||
|
{ 4671}(MessageNumber : 4671; MessageString : sTAPS_DONE),
|
||||||
|
{ 4700}(MessageNumber : psOK; MessageString : spsOK),
|
||||||
|
{ 4701}(MessageNumber : psProtocolHandshake; MessageString : spsProtocolHandshake),
|
||||||
|
{ 4702}(MessageNumber : psInvalidDate; MessageString : spsInvalidDate),
|
||||||
|
{ 4703}(MessageNumber : psFileRejected; MessageString : spsFileRejected),
|
||||||
|
{ 4704}(MessageNumber : psFileRenamed; MessageString : spsFileRenamed),
|
||||||
|
{ 4705}(MessageNumber : psSkipFile; MessageString : spsSkipFile),
|
||||||
|
{ 4706}(MessageNumber : psFileDoesntExist; MessageString : spsFileDoesntExist),
|
||||||
|
{ 4707}(MessageNumber : psCantWriteFile; MessageString : spsCantWriteFile),
|
||||||
|
{ 4708}(MessageNumber : psTimeout; MessageString : spsTimeout),
|
||||||
|
{ 4709}(MessageNumber : psBlockCheckError; MessageString : spsBlockCheckError),
|
||||||
|
{ 4710}(MessageNumber : psLongPacket; MessageString : spsLongPacket),
|
||||||
|
{ 4711}(MessageNumber : psDuplicateBlock; MessageString : spsDuplicateBlock),
|
||||||
|
{ 4712}(MessageNumber : psProtocolError; MessageString : spsProtocolError),
|
||||||
|
{ 4713}(MessageNumber : psCancelRequested; MessageString : spsCancelRequested),
|
||||||
|
{ 4714}(MessageNumber : psEndFile; MessageString : spsEndFile),
|
||||||
|
{ 4715}(MessageNumber : psResumeBad; MessageString : spsResumeBad),
|
||||||
|
{ 4716}(MessageNumber : psSequenceError; MessageString : spsSequenceError),
|
||||||
|
{ 4717}(MessageNumber : psAbortNoCarrier; MessageString : spsAbortNoCarrier),
|
||||||
|
{ 4718}(MessageNumber : psGotCrcE; MessageString : spsGotCrcE),
|
||||||
|
{ 4719}(MessageNumber : psGotCrcG; MessageString : spsGotCrcG),
|
||||||
|
{ 4720}(MessageNumber : psGotCrcW; MessageString : spsGotCrcW),
|
||||||
|
{ 4721}(MessageNumber : psGotCrcQ; MessageString : spsGotCrcQ),
|
||||||
|
{ 4722}(MessageNumber : psTryResume; MessageString : spsTryResume),
|
||||||
|
{ 4723}(MessageNumber : psHostResume; MessageString : spsHostResume),
|
||||||
|
{ 4724}(MessageNumber : psWaitAck; MessageString : spsWaitAck),
|
||||||
|
{ 4725}(MessageNumber : psNoHeader; MessageString : spsNoHeader),
|
||||||
|
{ 4726}(MessageNumber : psGotHeader; MessageString : spsGotHeader),
|
||||||
|
{ 4727}(MessageNumber : psGotData; MessageString : spsGotData),
|
||||||
|
{ 4728}(MessageNumber : psNoData; MessageString : spsNoData),
|
||||||
|
{ 4730}(MessageNumber : psAbort; MessageString : spsAbort),
|
||||||
|
{ 4801}(MessageNumber : fpInitModem; MessageString : sfpInitModem),
|
||||||
|
{ 4802}(MessageNumber : fpDialing; MessageString : sfpDialing),
|
||||||
|
{ 4803}(MessageNumber : fpBusyWait; MessageString : sfpBusyWait),
|
||||||
|
{ 4804}(MessageNumber : fpSendPage; MessageString : sfpSendPage),
|
||||||
|
{ 4805}(MessageNumber : fpSendPageStatus; MessageString : sfpSendPageStatus),
|
||||||
|
{ 4806}(MessageNumber : fpPageError; MessageString : sfpPageError),
|
||||||
|
{ 4807}(MessageNumber : fpPageOK; MessageString : sfpPageOK),
|
||||||
|
{ 4808}(MessageNumber : fpConnecting; MessageString : sfpConnecting),
|
||||||
|
{ 4820}(MessageNumber : fpWaiting; MessageString : sfpWaiting),
|
||||||
|
{ 4821}(MessageNumber : fpNoConnect; MessageString : sfpNoConnect),
|
||||||
|
{ 4822}(MessageNumber : fpAnswer; MessageString : sfpAnswer),
|
||||||
|
{ 4823}(MessageNumber : fpIncoming; MessageString : sfpIncoming),
|
||||||
|
{ 4824}(MessageNumber : fpGetPage; MessageString : sfpGetPage),
|
||||||
|
{ 4825}(MessageNumber : fpGetPageResult; MessageString : sfpGetPageResult),
|
||||||
|
{ 4826}(MessageNumber : fpCheckMorePages; MessageString : sfpCheckMorePages),
|
||||||
|
{ 4827}(MessageNumber : fpGetHangup; MessageString : sfpGetHangup),
|
||||||
|
{ 4828}(MessageNumber : fpGotHangup; MessageString : sfpGotHangup),
|
||||||
|
{ 4830}(MessageNumber : fpSwitchModes; MessageString : sfpSwitchModes),
|
||||||
|
{ 4831}(MessageNumber : fpMonitorEnabled; MessageString : sfpMonitorEnabled),
|
||||||
|
{ 4832}(MessageNumber : fpMonitorDisabled; MessageString : sfpMonitorDisabled),
|
||||||
|
{ 4840}(MessageNumber : fpSessionParams; MessageString : sfpSessionParams),
|
||||||
|
{ 4841}(MessageNumber : fpGotRemoteID; MessageString : sfpGotRemoteID),
|
||||||
|
{ 4842}(MessageNumber : fpCancel; MessageString : sfpCancel),
|
||||||
|
{ 4843}(MessageNumber : fpFinished; MessageString : sfpFinished),
|
||||||
|
{ 5001}(MessageNumber : ecNoMoreTriggers; MessageString : secNoMoreTriggers),
|
||||||
|
{ 5002}(MessageNumber : ecTriggerTooLong; MessageString : secTriggerTooLong),
|
||||||
|
{ 5003}(MessageNumber : ecBadTriggerHandle; MessageString : secBadTriggerHandle),
|
||||||
|
{ 5501}(MessageNumber : ecStartStringEmpty; MessageString : secStartStringEmpty),
|
||||||
|
{ 5502}(MessageNumber : ecPacketTooSmall; MessageString : secPacketTooSmall),
|
||||||
|
{ 5503}(MessageNumber : ecNoEndCharCount; MessageString : secNoEndCharCount),
|
||||||
|
{ 5504}(MessageNumber : ecEmptyEndString; MessageString : secEmptyEndString),
|
||||||
|
{ 5505}(MessageNumber : ecZeroSizePacket; MessageString : secZeroSizePacket),
|
||||||
|
{ 5506}(MessageNumber : ecPacketTooLong; MessageString : secPacketTooLong),
|
||||||
|
{ 6001}(MessageNumber : ecBadFileList; MessageString : secBadFileList),
|
||||||
|
{ 6002}(MessageNumber : ecNoSearchMask; MessageString : secNoSearchMask),
|
||||||
|
{ 6003}(MessageNumber : ecNoMatchingFiles; MessageString : secNoMatchingFiles),
|
||||||
|
{ 6004}(MessageNumber : ecDirNotFound; MessageString : secDirNotFound),
|
||||||
|
{ 6005}(MessageNumber : ecCancelRequested; MessageString : secCancelRequested),
|
||||||
|
{ 6006}(MessageNumber : ecTimeout; MessageString : secTimeout),
|
||||||
|
{ 6007}(MessageNumber : ecProtocolError; MessageString : secProtocolError),
|
||||||
|
{ 6008}(MessageNumber : ecTooManyErrors; MessageString : secTooManyErrors),
|
||||||
|
{ 6009}(MessageNumber : ecSequenceError; MessageString : secSequenceError),
|
||||||
|
{ 6010}(MessageNumber : ecNoFilename; MessageString : secNoFilename),
|
||||||
|
{ 6011}(MessageNumber : ecFileRejected; MessageString : secFileRejected),
|
||||||
|
{ 6012}(MessageNumber : ecCantWriteFile; MessageString : secCantWriteFile),
|
||||||
|
{ 6013}(MessageNumber : ecTableFull; MessageString : secTableFull),
|
||||||
|
{ 6014}(MessageNumber : ecAbortNoCarrier; MessageString : secAbortNoCarrier),
|
||||||
|
{ 6015}(MessageNumber : ecBadProtocolFunction; MessageString : secBadProtocolFunction),
|
||||||
|
{ 6016}(MessageNumber : ecProtocolAbort; MessageString : secProtocolAbort),
|
||||||
|
{ 7001}(MessageNumber : ecKeyTooLong; MessageString : secKeyTooLong),
|
||||||
|
{ 7002}(MessageNumber : ecDataTooLarge; MessageString : secDataTooLarge),
|
||||||
|
{ 7003}(MessageNumber : ecNoFieldsDefined; MessageString : secNoFieldsDefined),
|
||||||
|
{ 7004}(MessageNumber : ecIniWrite; MessageString : secIniWrite),
|
||||||
|
{ 7005}(MessageNumber : ecIniRead; MessageString : secIniRead),
|
||||||
|
{ 7006}(MessageNumber : ecNoIndexKey; MessageString : secNoIndexKey),
|
||||||
|
{ 7007}(MessageNumber : ecRecordExists; MessageString : secRecordExists),
|
||||||
|
{ 7008}(MessageNumber : ecRecordNotFound; MessageString : secRecordNotFound),
|
||||||
|
{ 7009}(MessageNumber : ecMustHaveIdxVal; MessageString : secMustHaveIdxVal),
|
||||||
|
{ 7010}(MessageNumber : ecDatabaseFull; MessageString : secDatabaseFull),
|
||||||
|
{ 7011}(MessageNumber : ecDatabaseEmpty; MessageString : secDatabaseEmpty),
|
||||||
|
{ 7012}(MessageNumber : ecDatabaseNotPrepared; MessageString : secDatabaseNotPrepared),
|
||||||
|
{ 7013}(MessageNumber : ecBadFieldList; MessageString : secBadFieldList),
|
||||||
|
{ 7014}(MessageNumber : ecBadFieldForIndex; MessageString : secBadFieldForIndex),
|
||||||
|
{ 7500}(MessageNumber : ecNoStateMachine; MessageString : secNoStateMachine),
|
||||||
|
{ 7501}(MessageNumber : ecNoStartState; MessageString : secNoStartState),
|
||||||
|
{ 7502}(MessageNumber : ecNoSapiEngine; MessageString : secNoSapiEngine),
|
||||||
|
{ 8001}(MessageNumber : ecFaxBadFormat; MessageString : secFaxBadFormat),
|
||||||
|
{ 8002}(MessageNumber : ecBadGraphicsFormat; MessageString : secBadGraphicsFormat),
|
||||||
|
{ 8003}(MessageNumber : ecConvertAbort; MessageString : secConvertAbort),
|
||||||
|
{ 8004}(MessageNumber : ecUnpackAbort; MessageString : secUnpackAbort),
|
||||||
|
{ 8005}(MessageNumber : ecCantMakeBitmap; MessageString : secCantMakeBitmap),
|
||||||
|
{ 8050}(MessageNumber : ecNoImageLoaded; MessageString : secNoImageLoaded),
|
||||||
|
{ 8051}(MessageNumber : ecNoImageBlockMarked; MessageString : secNoImageBlockMarked),
|
||||||
|
{ 8052}(MessageNumber : ecFontFileNotFound; MessageString : secFontFileNotFound),
|
||||||
|
{ 8053}(MessageNumber : ecInvalidPageNumber; MessageString : secInvalidPageNumber),
|
||||||
|
{ 8054}(MessageNumber : ecBmpTooBig; MessageString : secBmpTooBig),
|
||||||
|
{ 8055}(MessageNumber : ecEnhFontTooBig; MessageString : secEnhFontTooBig),
|
||||||
|
{ 8060}(MessageNumber : ecFaxBadMachine; MessageString : secFaxBadMachine),
|
||||||
|
{ 8061}(MessageNumber : ecFaxBadModemResult; MessageString : secFaxBadModemResult),
|
||||||
|
{ 8062}(MessageNumber : ecFaxTrainError; MessageString : secFaxTrainError),
|
||||||
|
{ 8063}(MessageNumber : ecFaxInitError; MessageString : secFaxInitError),
|
||||||
|
{ 8064}(MessageNumber : ecFaxBusy; MessageString : secFaxBusy),
|
||||||
|
{ 8065}(MessageNumber : ecFaxVoiceCall; MessageString : secFaxVoiceCall),
|
||||||
|
{ 8066}(MessageNumber : ecFaxDataCall; MessageString : secFaxDataCall),
|
||||||
|
{ 8067}(MessageNumber : ecFaxNoDialTone; MessageString : secFaxNoDialTone),
|
||||||
|
{ 8068}(MessageNumber : ecFaxNoCarrier; MessageString : secFaxNoCarrier),
|
||||||
|
{ 8069}(MessageNumber : ecFaxSessionError; MessageString : secFaxSessionError),
|
||||||
|
{ 8070}(MessageNumber : ecFaxPageError; MessageString : secFaxPageError),
|
||||||
|
{ 8071}(MessageNumber : ecFaxGDIPrintError; MessageString : secFaxGDIPrintError),
|
||||||
|
{ 8072}(MessageNumber : ecFaxMixedResolution; MessageString : secFaxMixedResolution),
|
||||||
|
{ 8073}(MessageNumber : ecFaxConverterInitFail; MessageString : secFaxConverterInitFail),
|
||||||
|
{ 8074}(MessageNumber : ecNoAnswer; MessageString : secNoAnswer),
|
||||||
|
{ 8075}(MessageNumber : ecAlreadyMonitored; MessageString : secAlreadyMonitored),
|
||||||
|
{ 8080}(MessageNumber : ecUniAlreadyInstalled; MessageString : secUniAlreadyInstalled),
|
||||||
|
{ 8081}(MessageNumber : ecUniCannotGetSysDir; MessageString : secUniCannotGetSysDir),
|
||||||
|
{ 8082}(MessageNumber : ecUniCannotGetWinDir; MessageString : secUniCannotGetWinDir),
|
||||||
|
{ 8083}(MessageNumber : ecUniUnknownLayout; MessageString : secUniUnknownLayout),
|
||||||
|
{ 8085}(MessageNumber : ecUniCannotInstallFile; MessageString : secUniCannotInstallFile),
|
||||||
|
{ 8087}(MessageNumber : ecDrvCopyError; MessageString : secDrvCopyError),
|
||||||
|
{ 8088}(MessageNumber : ecCannotAddPrinter; MessageString : secCannotAddPrinter),
|
||||||
|
{ 8089}(MessageNumber : ecDrvBadResources; MessageString : secDrvBadResources),
|
||||||
|
{ 8090}(MessageNumber : ecDrvDriverNotFound; MessageString : secDrvDriverNotFound),
|
||||||
|
{ 8091}(MessageNumber : ecUniCannotGetPrinterDriverDir;MessageString : secUniCannotGetPrinterDriverDir),
|
||||||
|
{ 8092}(MessageNumber : ecInstallDriverFailed; MessageString : secInstallDriverFailed),
|
||||||
|
{ 8100}(MessageNumber : ecSMSBusy; MessageString : secSMSBusy),
|
||||||
|
{ 8101}(MessageNumber : ecSMSTimedOut; MessageString : secSMSTimedOut),
|
||||||
|
{ 8102}(MessageNumber : ecSMSTooLong; MessageString : secSMSTooLong),
|
||||||
|
{ 8103}(MessageNumber : ecSMSUnknownStatus; MessageString : secSMSUnknownStatus),
|
||||||
|
{ 8300}(MessageNumber : ecMEFailure; MessageString : secMEFailure),
|
||||||
|
{ 8301}(MessageNumber : ecServiceRes; MessageString : secServiceRes),
|
||||||
|
{ 8302}(MessageNumber : ecBadOperation; MessageString : secBadOperation),
|
||||||
|
{ 8303}(MessageNumber : ecUnsupported; MessageString : secUnsupported),
|
||||||
|
{ 8304}(MessageNumber : ecInvalidPDU; MessageString : secInvalidPDU),
|
||||||
|
{ 8305}(MessageNumber : ecInvalidText; MessageString : secInvalidText),
|
||||||
|
{ 8310}(MessageNumber : ecSIMInsert; MessageString : secSIMInsert),
|
||||||
|
{ 8311}(MessageNumber : ecSIMPin; MessageString : secSIMPin),
|
||||||
|
{ 8312}(MessageNumber : ecSIMPH; MessageString : secSIMPH),
|
||||||
|
{ 8313}(MessageNumber : ecSIMFailure; MessageString : secSIMFailure),
|
||||||
|
{ 8314}(MessageNumber : ecSIMBusy; MessageString : secSIMBusy),
|
||||||
|
{ 8315}(MessageNumber : ecSIMWrong; MessageString : secSIMWrong),
|
||||||
|
{ 8316}(MessageNumber : ecSIMPUK; MessageString : secSIMPUK),
|
||||||
|
{ 8317}(MessageNumber : ecSIMPIN2; MessageString : secSIMPIN2),
|
||||||
|
{ 8318}(MessageNumber : ecSIMPUK2; MessageString : secSIMPUK2),
|
||||||
|
{ 8320}(MessageNumber : ecMemFail; MessageString : secMemFail),
|
||||||
|
{ 8321}(MessageNumber : ecInvalidMemIndex; MessageString : secInvalidMemIndex),
|
||||||
|
{ 8322}(MessageNumber : ecMemFull; MessageString : secMemFull),
|
||||||
|
{ 8330}(MessageNumber : ecSMSCAddUnknown; MessageString : secSMSCAddUnknown),
|
||||||
|
{ 8331}(MessageNumber : ecNoNetwork; MessageString : secNoNetwork),
|
||||||
|
{ 8332}(MessageNumber : ecNetworkTimeout; MessageString : secNetworkTimeout),
|
||||||
|
{ 8340}(MessageNumber : ecCNMAAck; MessageString : secCNMAAck),
|
||||||
|
{ 8500}(MessageNumber : ecUnknown; MessageString : secUnknown),
|
||||||
|
{ 9001}(MessageNumber : ecADWSERROR; MessageString : secADWSERROR),
|
||||||
|
{ 9002}(MessageNumber : ecADWSLOADERROR; MessageString : secADWSLOADERROR),
|
||||||
|
{ 9003}(MessageNumber : ecADWSVERSIONERROR; MessageString : secADWSVERSIONERROR),
|
||||||
|
{ 9004}(MessageNumber : ecADWSNOTINIT; MessageString : secADWSNOTINIT),
|
||||||
|
{ 9005}(MessageNumber : ecADWSINVPORT; MessageString : secADWSINVPORT),
|
||||||
|
{ 9006}(MessageNumber : ecADWSCANTCHANGE; MessageString : secADWSCANTCHANGE),
|
||||||
|
{ 9007}(MessageNumber : ecADWSCANTRESOLVE; MessageString : secADWSCANTRESOLVE),
|
||||||
|
{10000}(MessageNumber : wsaBaseErr; MessageString : swsaBaseErr),
|
||||||
|
{10004}(MessageNumber : wsaEIntr; MessageString : swsaEIntr),
|
||||||
|
{10009}(MessageNumber : wsaEBadF; MessageString : swsaEBadF),
|
||||||
|
{10013}(MessageNumber : wsaEAcces; MessageString : swsaEAcces),
|
||||||
|
{10014}(MessageNumber : wsaEFault; MessageString : swsaEFault),
|
||||||
|
{10022}(MessageNumber : wsaEInVal; MessageString : swsaEInVal),
|
||||||
|
{10024}(MessageNumber : wsaEMFile; MessageString : swsaEMFile),
|
||||||
|
{10035}(MessageNumber : wsaEWouldBlock; MessageString : swsaEWouldBlock),
|
||||||
|
{10036}(MessageNumber : wsaEInProgress; MessageString : swsaEInProgress),
|
||||||
|
{10037}(MessageNumber : wsaEAlReady; MessageString : swsaEAlReady),
|
||||||
|
{10038}(MessageNumber : wsaENotSock; MessageString : swsaENotSock),
|
||||||
|
{10039}(MessageNumber : wsaEDestAddrReq; MessageString : swsaEDestAddrReq),
|
||||||
|
{10040}(MessageNumber : wsaEMsgSize; MessageString : swsaEMsgSize),
|
||||||
|
{10041}(MessageNumber : wsaEPrototype; MessageString : swsaEPrototype),
|
||||||
|
{10042}(MessageNumber : wsaENoProtoOpt; MessageString : swsaENoProtoOpt),
|
||||||
|
{10043}(MessageNumber : wsaEProtoNoSupport; MessageString : swsaEProtoNoSupport),
|
||||||
|
{10044}(MessageNumber : wsaESocktNoSupport; MessageString : swsaESocktNoSupport),
|
||||||
|
{10045}(MessageNumber : wsaEOpNotSupp; MessageString : swsaEOpNotSupp),
|
||||||
|
{10046}(MessageNumber : wsaEPfNoSupport; MessageString : swsaEPfNoSupport),
|
||||||
|
{10047}(MessageNumber : wsaEAfNoSupport; MessageString : swsaEAfNoSupport),
|
||||||
|
{10048}(MessageNumber : wsaEAddrInUse; MessageString : swsaEAddrInUse),
|
||||||
|
{10049}(MessageNumber : wsaEAddrNotAvail; MessageString : swsaEAddrNotAvail),
|
||||||
|
{10050}(MessageNumber : wsaENetDown; MessageString : swsaENetDown),
|
||||||
|
{10051}(MessageNumber : wsaENetUnreach; MessageString : swsaENetUnreach),
|
||||||
|
{10052}(MessageNumber : wsaENetReset; MessageString : swsaENetReset),
|
||||||
|
{10053}(MessageNumber : wsaEConnAborted; MessageString : swsaEConnAborted),
|
||||||
|
{10054}(MessageNumber : wsaEConnReset; MessageString : swsaEConnReset),
|
||||||
|
{10055}(MessageNumber : wsaENoBufs; MessageString : swsaENoBufs),
|
||||||
|
{10056}(MessageNumber : wsaEIsConn; MessageString : swsaEIsConn),
|
||||||
|
{10057}(MessageNumber : wsaENotConn; MessageString : swsaENotConn),
|
||||||
|
{10058}(MessageNumber : wsaEShutDown; MessageString : swsaEShutDown),
|
||||||
|
{10059}(MessageNumber : wsaETooManyRefs; MessageString : swsaETooManyRefs),
|
||||||
|
{10060}(MessageNumber : wsaETimedOut; MessageString : swsaETimedOut),
|
||||||
|
{10061}(MessageNumber : wsaEConnRefused; MessageString : swsaEConnRefused),
|
||||||
|
{10062}(MessageNumber : wsaELoop; MessageString : swsaELoop),
|
||||||
|
{10063}(MessageNumber : wsaENameTooLong; MessageString : swsaENameTooLong),
|
||||||
|
{10064}(MessageNumber : wsaEHostDown; MessageString : swsaEHostDown),
|
||||||
|
{10065}(MessageNumber : wsaEHostUnreach; MessageString : swsaEHostUnreach),
|
||||||
|
{10066}(MessageNumber : wsaENotEmpty; MessageString : swsaENotEmpty),
|
||||||
|
{10067}(MessageNumber : wsaEProcLim; MessageString : swsaEProcLim),
|
||||||
|
{10068}(MessageNumber : wsaEUsers; MessageString : swsaEUsers),
|
||||||
|
{10069}(MessageNumber : wsaEDQuot; MessageString : swsaEDQuot),
|
||||||
|
{10070}(MessageNumber : wsaEStale; MessageString : swsaEStale),
|
||||||
|
{10071}(MessageNumber : wsaERemote; MessageString : swsaERemote),
|
||||||
|
{10091}(MessageNumber : wsaSysNotReady; MessageString : swsaSysNotReady),
|
||||||
|
{10092}(MessageNumber : wsaVerNotSupported; MessageString : swsaVerNotSupported),
|
||||||
|
{10093}(MessageNumber : wsaNotInitialised; MessageString : swsaNotInitialised),
|
||||||
|
{10101}(MessageNumber : wsaEDiscOn; MessageString : swsaEDiscOn),
|
||||||
|
{11001}(MessageNumber : wsaHost_Not_Found; MessageString : swsaHost_Not_Found),
|
||||||
|
{11002}(MessageNumber : wsaTry_Again; MessageString : swsaTry_Again),
|
||||||
|
{11003}(MessageNumber : wsaNo_Recovery; MessageString : swsaNo_Recovery),
|
||||||
|
{11004}(MessageNumber : wsaNo_Data; MessageString : swsaNo_Data),
|
||||||
|
{13501}(MessageNumber : 13501; MessageString : stcs_Idle),
|
||||||
|
{13502}(MessageNumber : 13502; MessageString : stcs_Offering),
|
||||||
|
{13503}(MessageNumber : 13503; MessageString : stcs_Accepted),
|
||||||
|
{13504}(MessageNumber : 13504; MessageString : stcs_Dialtone),
|
||||||
|
{13505}(MessageNumber : 13505; MessageString : stcs_Dialing),
|
||||||
|
{13506}(MessageNumber : 13506; MessageString : stcs_Ringback),
|
||||||
|
{13507}(MessageNumber : 13507; MessageString : stcs_Busy),
|
||||||
|
{13508}(MessageNumber : 13508; MessageString : stcs_SpecialInfo),
|
||||||
|
{13509}(MessageNumber : 13509; MessageString : stcs_Connected),
|
||||||
|
{13510}(MessageNumber : 13510; MessageString : stcs_Proceeding),
|
||||||
|
{13511}(MessageNumber : 13511; MessageString : stcs_OnHold),
|
||||||
|
{13512}(MessageNumber : 13512; MessageString : stcs_Conferenced),
|
||||||
|
{13513}(MessageNumber : 13513; MessageString : stcs_OnHoldPendConf),
|
||||||
|
{13514}(MessageNumber : 13514; MessageString : stcs_OnHoldPendTransfer),
|
||||||
|
{13515}(MessageNumber : 13515; MessageString : stcs_Disconnected),
|
||||||
|
{13516}(MessageNumber : 13516; MessageString : stcs_Unknown),
|
||||||
|
{13533}(MessageNumber : 13533; MessageString : stds_Other),
|
||||||
|
{13534}(MessageNumber : 13534; MessageString : stds_Ringing),
|
||||||
|
{13535}(MessageNumber : 13535; MessageString : stds_Connected),
|
||||||
|
{13536}(MessageNumber : 13536; MessageString : stds_Disconnected),
|
||||||
|
{13537}(MessageNumber : 13537; MessageString : stds_MsgWaitOn),
|
||||||
|
{13538}(MessageNumber : 13538; MessageString : stds_MsgWaitOff),
|
||||||
|
{13539}(MessageNumber : 13539; MessageString : stds_InService),
|
||||||
|
{13540}(MessageNumber : 13540; MessageString : stds_OutOfService),
|
||||||
|
{13541}(MessageNumber : 13541; MessageString : stds_Maintenance),
|
||||||
|
{13542}(MessageNumber : 13542; MessageString : stds_Open),
|
||||||
|
{13543}(MessageNumber : 13543; MessageString : stds_Close),
|
||||||
|
{13544}(MessageNumber : 13544; MessageString : stds_NumCalls),
|
||||||
|
{13545}(MessageNumber : 13545; MessageString : stds_NumCompletions),
|
||||||
|
{13546}(MessageNumber : 13546; MessageString : stds_Terminals),
|
||||||
|
{13547}(MessageNumber : 13547; MessageString : stds_RoamMode),
|
||||||
|
{13548}(MessageNumber : 13548; MessageString : stds_Battery),
|
||||||
|
{13549}(MessageNumber : 13549; MessageString : stds_Signal),
|
||||||
|
{13550}(MessageNumber : 13550; MessageString : stds_DevSpecific),
|
||||||
|
{13551}(MessageNumber : 13551; MessageString : stds_ReInit),
|
||||||
|
{13552}(MessageNumber : 13552; MessageString : stds_Lock),
|
||||||
|
{13553}(MessageNumber : 13553; MessageString : stds_CapsChange),
|
||||||
|
{13554}(MessageNumber : 13554; MessageString : stds_ConfigChange),
|
||||||
|
{13555}(MessageNumber : 13555; MessageString : stds_TranslateChange),
|
||||||
|
{13556}(MessageNumber : 13556; MessageString : stds_ComplCancel),
|
||||||
|
{13557}(MessageNumber : 13557; MessageString : stds_Removed),
|
||||||
|
{13565}(MessageNumber : 13565; MessageString : sTAPILineReply),
|
||||||
|
{13597}(MessageNumber : 13597; MessageString : sTAPIStateChange),
|
||||||
|
{13598}(MessageNumber : 13598; MessageString : sTAPICalledBusy),
|
||||||
|
{13599}(MessageNumber : 13599; MessageString : sTAPIDialFail),
|
||||||
|
{13600}(MessageNumber : 13600; MessageString : sTAPIRetryWait),
|
||||||
|
{13601}(MessageNumber : 13601; MessageString : sTAPIDeviceInUse),
|
||||||
|
{13650}(MessageNumber : 13650; MessageString : sTAPIDisconnect_Unspecified),
|
||||||
|
{13651}(MessageNumber : 13651; MessageString : sTAPIDisconnect_Normal),
|
||||||
|
{13652}(MessageNumber : 13652; MessageString : sTAPIDisconnect_Unknown),
|
||||||
|
{13653}(MessageNumber : 13653; MessageString : sTAPIDisconnect_Reject),
|
||||||
|
{13654}(MessageNumber : 13654; MessageString : sTAPIDisconnect_PickUp),
|
||||||
|
{13655}(MessageNumber : 13655; MessageString : sTAPIDisconnect_Forwarded),
|
||||||
|
{13656}(MessageNumber : 13656; MessageString : sTAPIDisconnect_Busy),
|
||||||
|
{13657}(MessageNumber : 13657; MessageString : sTAPIDisconnect_NoAnswer),
|
||||||
|
{13658}(MessageNumber : 13658; MessageString : sTAPIDisconnect_BadAddress),
|
||||||
|
{13659}(MessageNumber : 13659; MessageString : sTAPIDisconnect_Unreachable),
|
||||||
|
{13660}(MessageNumber : 13660; MessageString : sTAPIDisconnect_Congestion),
|
||||||
|
{13661}(MessageNumber : 13661; MessageString : sTAPIDisconnect_Incompatible),
|
||||||
|
{13662}(MessageNumber : 13662; MessageString : sTAPIDisconnect_Unavail),
|
||||||
|
{13663}(MessageNumber : 13663; MessageString : sTAPIDisconnect_NoDialtone),
|
||||||
|
{13664}(MessageNumber : 13664; MessageString : sTAPIDisconnect_NumberChanged),
|
||||||
|
{13665}(MessageNumber : 13665; MessageString : sTAPIDisconnect_OutOfOrder),
|
||||||
|
{13666}(MessageNumber : 13666; MessageString : sTAPIDisconnect_TempFailure),
|
||||||
|
{13667}(MessageNumber : 13667; MessageString : sTAPIDisconnect_QOSUnavail),
|
||||||
|
{13668}(MessageNumber : 13668; MessageString : sTAPIDisconnect_Blocked),
|
||||||
|
{13669}(MessageNumber : 13669; MessageString : sTAPIDisconnect_DoNotDisturb),
|
||||||
|
{13670}(MessageNumber : 13670; MessageString : sTAPIDisconnect_Cancelled),
|
||||||
|
{13801}(MessageNumber : ecAllocated; MessageString : secAllocated),
|
||||||
|
{13802}(MessageNumber : ecBadDeviceID; MessageString : secBadDeviceID),
|
||||||
|
{13803}(MessageNumber : ecBearerModeUnavail; MessageString : secBearerModeUnavail),
|
||||||
|
{13805}(MessageNumber : ecCallUnavail; MessageString : secCallUnavail),
|
||||||
|
{13806}(MessageNumber : ecCompletionOverrun; MessageString : secCompletionOverrun),
|
||||||
|
{13807}(MessageNumber : ecConferenceFull; MessageString : secConferenceFull),
|
||||||
|
{13808}(MessageNumber : ecDialBilling; MessageString : secDialBilling),
|
||||||
|
{13809}(MessageNumber : ecDialDialtone; MessageString : secDialDialtone),
|
||||||
|
{13810}(MessageNumber : ecDialPrompt; MessageString : secDialPrompt),
|
||||||
|
{13811}(MessageNumber : ecDialQuiet; MessageString : secDialQuiet),
|
||||||
|
{13812}(MessageNumber : ecIncompatibleApiVersion; MessageString : secIncompatibleApiVersion),
|
||||||
|
{13813}(MessageNumber : ecIncompatibleExtVersion; MessageString : secIncompatibleExtVersion),
|
||||||
|
{13814}(MessageNumber : ecIniFileCorrupt; MessageString : secIniFileCorrupt),
|
||||||
|
{13815}(MessageNumber : ecInUse; MessageString : secInUse),
|
||||||
|
{13816}(MessageNumber : ecInvalAddress; MessageString : secInvalAddress),
|
||||||
|
{13817}(MessageNumber : ecInvalAddressID; MessageString : secInvalAddressID),
|
||||||
|
{13818}(MessageNumber : ecInvalAddressMode; MessageString : secInvalAddressMode),
|
||||||
|
{13819}(MessageNumber : ecInvalAddressState; MessageString : secInvalAddressState),
|
||||||
|
{13820}(MessageNumber : ecInvalAppHandle; MessageString : secInvalAppHandle),
|
||||||
|
{13821}(MessageNumber : ecInvalAppName; MessageString : secInvalAppName),
|
||||||
|
{13822}(MessageNumber : ecInvalBearerMode; MessageString : secInvalBearerMode),
|
||||||
|
{13823}(MessageNumber : ecInvalCallComplMode; MessageString : secInvalCallComplMode),
|
||||||
|
{13824}(MessageNumber : ecInvalCallHandle; MessageString : secInvalCallHandle),
|
||||||
|
{13825}(MessageNumber : ecInvalCallParams; MessageString : secInvalCallParams),
|
||||||
|
{13826}(MessageNumber : ecInvalCallPrivilege; MessageString : secInvalCallPrivilege),
|
||||||
|
{13827}(MessageNumber : ecInvalCallSelect; MessageString : secInvalCallSelect),
|
||||||
|
{13828}(MessageNumber : ecInvalCallState; MessageString : secInvalCallState),
|
||||||
|
{13829}(MessageNumber : ecInvalCallStatelist; MessageString : secInvalCallStatelist),
|
||||||
|
{13830}(MessageNumber : ecInvalCard; MessageString : secInvalCard),
|
||||||
|
{13831}(MessageNumber : ecInvalCompletionID; MessageString : secInvalCompletionID),
|
||||||
|
{13832}(MessageNumber : ecInvalConfCallHandle; MessageString : secInvalConfCallHandle),
|
||||||
|
{13833}(MessageNumber : ecInvalConsultCallHandle; MessageString : secInvalConsultCallHandle),
|
||||||
|
{13834}(MessageNumber : ecInvalCountryCode; MessageString : secInvalCountryCode),
|
||||||
|
{13835}(MessageNumber : ecInvalDeviceClass; MessageString : secInvalDeviceClass),
|
||||||
|
{13836}(MessageNumber : ecInvalDeviceHandle; MessageString : secInvalDeviceHandle),
|
||||||
|
{13837}(MessageNumber : ecInvalDialParams; MessageString : secInvalDialParams),
|
||||||
|
{13838}(MessageNumber : ecInvalDigitList; MessageString : secInvalDigitList),
|
||||||
|
{13839}(MessageNumber : ecInvalDigitMode; MessageString : secInvalDigitMode),
|
||||||
|
{13840}(MessageNumber : ecInvalDigits; MessageString : secInvalDigits),
|
||||||
|
{13841}(MessageNumber : ecInvalExtVersion; MessageString : secInvalExtVersion),
|
||||||
|
{13842}(MessageNumber : ecInvalGroupID; MessageString : secInvalGroupID),
|
||||||
|
{13843}(MessageNumber : ecInvalLineHandle; MessageString : secInvalLineHandle),
|
||||||
|
{13844}(MessageNumber : ecInvalLineState; MessageString : secInvalLineState),
|
||||||
|
{13845}(MessageNumber : ecInvalLocation; MessageString : secInvalLocation),
|
||||||
|
{13846}(MessageNumber : ecInvalMediaList; MessageString : secInvalMediaList),
|
||||||
|
{13847}(MessageNumber : ecInvalMediaMode; MessageString : secInvalMediaMode),
|
||||||
|
{13848}(MessageNumber : ecInvalMessageID; MessageString : secInvalMessageID),
|
||||||
|
{13850}(MessageNumber : ecInvalParam; MessageString : secInvalParam),
|
||||||
|
{13851}(MessageNumber : ecInvalParkID; MessageString : secInvalParkID),
|
||||||
|
{13852}(MessageNumber : ecInvalParkMode; MessageString : secInvalParkMode),
|
||||||
|
{13853}(MessageNumber : ecInvalPointer; MessageString : secInvalPointer),
|
||||||
|
{13854}(MessageNumber : ecInvalPrivSelect; MessageString : secInvalPrivSelect),
|
||||||
|
{13855}(MessageNumber : ecInvalRate; MessageString : secInvalRate),
|
||||||
|
{13856}(MessageNumber : ecInvalRequestMode; MessageString : secInvalRequestMode),
|
||||||
|
{13857}(MessageNumber : ecInvalTerminalID; MessageString : secInvalTerminalID),
|
||||||
|
{13858}(MessageNumber : ecInvalTerminalMode; MessageString : secInvalTerminalMode),
|
||||||
|
{13859}(MessageNumber : ecInvalTimeout; MessageString : secInvalTimeout),
|
||||||
|
{13860}(MessageNumber : ecInvalTone; MessageString : secInvalTone),
|
||||||
|
{13861}(MessageNumber : ecInvalToneList; MessageString : secInvalToneList),
|
||||||
|
{13862}(MessageNumber : ecInvalToneMode; MessageString : secInvalToneMode),
|
||||||
|
{13863}(MessageNumber : ecInvalTransferMode; MessageString : secInvalTransferMode),
|
||||||
|
{13864}(MessageNumber : ecLineMapperFailed; MessageString : secLineMapperFailed),
|
||||||
|
{13865}(MessageNumber : ecNoConference; MessageString : secNoConference),
|
||||||
|
{13866}(MessageNumber : ecNoDevice; MessageString : secNoDevice),
|
||||||
|
{13867}(MessageNumber : ecNoDriver; MessageString : secNoDriver),
|
||||||
|
{13868}(MessageNumber : ecNoMem; MessageString : secNoMem),
|
||||||
|
{13869}(MessageNumber : ecNoRequest; MessageString : secNoRequest),
|
||||||
|
{13870}(MessageNumber : ecNotOwner; MessageString : secNotOwner),
|
||||||
|
{13871}(MessageNumber : ecNotRegistered; MessageString : secNotRegistered),
|
||||||
|
{13872}(MessageNumber : ecOperationFailed; MessageString : secOperationFailed),
|
||||||
|
{13873}(MessageNumber : ecOperationUnavail; MessageString : secOperationUnavail),
|
||||||
|
{13874}(MessageNumber : ecRateUnavail; MessageString : secRateUnavail),
|
||||||
|
{13875}(MessageNumber : ecResourceUnavail; MessageString : secResourceUnavail),
|
||||||
|
{13876}(MessageNumber : ecRequestOverrun; MessageString : secRequestOverrun),
|
||||||
|
{13877}(MessageNumber : ecStructureTooSmall; MessageString : secStructureTooSmall),
|
||||||
|
{13878}(MessageNumber : ecTargetNotFound; MessageString : secTargetNotFound),
|
||||||
|
{13879}(MessageNumber : ecTargetSelf; MessageString : secTargetSelf),
|
||||||
|
{13880}(MessageNumber : ecUninitialized; MessageString : secUninitialized),
|
||||||
|
{13881}(MessageNumber : ecUserUserInfoTooBig; MessageString : secUserUserInfoTooBig),
|
||||||
|
{13882}(MessageNumber : ecReinit; MessageString : secReinit),
|
||||||
|
{13883}(MessageNumber : ecAddressBlocked; MessageString : secAddressBlocked),
|
||||||
|
{13884}(MessageNumber : ecBillingRejected; MessageString : secBillingRejected),
|
||||||
|
{13885}(MessageNumber : ecInvalFeature; MessageString : secInvalFeature),
|
||||||
|
{13886}(MessageNumber : ecNoMultipleInstance; MessageString : secNoMultipleInstance),
|
||||||
|
{13928}(MessageNumber : ecTapiBusy; MessageString : secTapiBusy),
|
||||||
|
{13929}(MessageNumber : ecTapiNotSet; MessageString : secTapiNotSet),
|
||||||
|
{13930}(MessageNumber : ecTapiNoSelect; MessageString : secTapiNoSelect),
|
||||||
|
{13931}(MessageNumber : ecTapiLoadFail; MessageString : secTapiLoadFail),
|
||||||
|
{13932}(MessageNumber : ecTapiGetAddrFail; MessageString : secTapiGetAddrFail),
|
||||||
|
{13933}(MessageNumber : 13933; MessageString : sTAPIdisabled16bit),
|
||||||
|
{13934}(MessageNumber : ecTapiUnexpected; MessageString : secTapiUnexpected),
|
||||||
|
{13935}(MessageNumber : ecTapiVoiceNotSupported; MessageString : secTapiVoiceNotSupported),
|
||||||
|
{13936}(MessageNumber : ecTapiWaveFail; MessageString : secTapiWaveFail),
|
||||||
|
{13937}(MessageNumber : ecTapiCIDBlocked; MessageString : secTapiCIDBlocked),
|
||||||
|
{13938}(MessageNumber : ecTapiCIDOutOfArea; MessageString : secTapiCIDOutOfArea),
|
||||||
|
{13939}(MessageNumber : ecTapiWaveFormatError; MessageString : secTapiWaveFormatError),
|
||||||
|
{13940}(MessageNumber : ecTapiWaveReadError; MessageString : secTapiWaveReadError),
|
||||||
|
{13941}(MessageNumber : ecTapiWaveBadFormat; MessageString : secTapiWaveBadFormat),
|
||||||
|
{13942}(MessageNumber : ecTapiTranslateFail; MessageString : secTapiTranslateFail),
|
||||||
|
{13943}(MessageNumber : ecTapiWaveDeviceInUse; MessageString : secTapiWaveDeviceInUse),
|
||||||
|
{13944}(MessageNumber : ecTapiWaveFileExists; MessageString : secTapiWaveFileExists),
|
||||||
|
{13945}(MessageNumber : ecTapiWaveNoData; MessageString : secTapiWaveNoData),
|
||||||
|
{13950}(MessageNumber : ecVoIPNotSupported; MessageString : secVoIPNotSupported),
|
||||||
|
{13951}(MessageNumber : ecVoIPCallBusy; MessageString : secVoIPCallBusy),
|
||||||
|
{13952}(MessageNumber : ecVoIPBadAddress; MessageString : secVoIPBadAddress),
|
||||||
|
{13953}(MessageNumber : ecVoIPNoAnswer; MessageString : secVoIPNoAnswer),
|
||||||
|
{13954}(MessageNumber : ecVoIPCancelled; MessageString : secVoIPCancelled),
|
||||||
|
{13955}(MessageNumber : ecVoIPRejected; MessageString : secVoIPRejected),
|
||||||
|
{13956}(MessageNumber : ecVoIPFailed; MessageString : secVoIPFailed),
|
||||||
|
{13957}(MessageNumber : ecVoIPTapi3NotInstalled; MessageString : secVoIPTapi3NotInstalled),
|
||||||
|
{13958}(MessageNumber : ecVoIPH323NotFound; MessageString : secVoIPH323NotFound),
|
||||||
|
{13959}(MessageNumber : ecVoIPTapi3EventFailure; MessageString : secVoIPTapi3EventFailure),
|
||||||
|
{13980}(MessageNumber : ecRasLoadFail; MessageString : secRasLoadFail),
|
||||||
|
{15001}(MessageNumber : 15001; MessageString : sdtNone),
|
||||||
|
{15002}(MessageNumber : 15002; MessageString : sdtDispatch),
|
||||||
|
{15003}(MessageNumber : 15003; MessageString : sdtTrigger),
|
||||||
|
{15004}(MessageNumber : 15004; MessageString : sdtError),
|
||||||
|
{15005}(MessageNumber : 15005; MessageString : sdtThread),
|
||||||
|
{15006}(MessageNumber : 15006; MessageString : sdtTriggerAlloc),
|
||||||
|
{15007}(MessageNumber : 15007; MessageString : sdtTriggerDispose),
|
||||||
|
{15008}(MessageNumber : 15008; MessageString : sdtTriggerHandlerAlloc),
|
||||||
|
{15009}(MessageNumber : 15009; MessageString : sdtTriggerHandlerDispose),
|
||||||
|
{15010}(MessageNumber : 15010; MessageString : sdtTriggerDataChange),
|
||||||
|
{15011}(MessageNumber : 15011; MessageString : sdtTelnet),
|
||||||
|
{15012}(MessageNumber : 15012; MessageString : sdtFax),
|
||||||
|
{15013}(MessageNumber : 15013; MessageString : sdtXModem),
|
||||||
|
{15014}(MessageNumber : 15014; MessageString : sdtYModem),
|
||||||
|
{15015}(MessageNumber : 15015; MessageString : sdtZModem),
|
||||||
|
{15016}(MessageNumber : 15016; MessageString : sdtKermit),
|
||||||
|
{15017}(MessageNumber : 15017; MessageString : sdtAscii),
|
||||||
|
{15018}(MessageNumber : 15018; MessageString : sdtBPlus),
|
||||||
|
{15019}(MessageNumber : 15019; MessageString : sdtPacket),
|
||||||
|
{15020}(MessageNumber : 15020; MessageString : sdtUser),
|
||||||
|
{15021}(MessageNumber : 15021; MessageString : sdtScript),
|
||||||
|
{15100}(MessageNumber : 15100; MessageString : sdstNone),
|
||||||
|
{15101}(MessageNumber : 15101; MessageString : sdstReadCom),
|
||||||
|
{15102}(MessageNumber : 15102; MessageString : sdstWriteCom),
|
||||||
|
{15103}(MessageNumber : 15103; MessageString : sdstLineStatus),
|
||||||
|
{15104}(MessageNumber : 15104; MessageString : sdstModemStatus),
|
||||||
|
{15105}(MessageNumber : 15105; MessageString : sdstAvail),
|
||||||
|
{15106}(MessageNumber : 15106; MessageString : sdstTimer),
|
||||||
|
{15107}(MessageNumber : 15107; MessageString : sdstData),
|
||||||
|
{15108}(MessageNumber : 15108; MessageString : sdstStatus),
|
||||||
|
{15109}(MessageNumber : 15109; MessageString : sdstThreadStart),
|
||||||
|
{15110}(MessageNumber : 15110; MessageString : sdstThreadExit),
|
||||||
|
{15111}(MessageNumber : 15111; MessageString : sdstThreadSleep),
|
||||||
|
{15112}(MessageNumber : 15112; MessageString : sdstThreadWake),
|
||||||
|
{15113}(MessageNumber : 15113; MessageString : sdstDataTrigger),
|
||||||
|
{15114}(MessageNumber : 15114; MessageString : sdstTimerTrigger),
|
||||||
|
{15115}(MessageNumber : 15115; MessageString : sdstStatusTrigger),
|
||||||
|
{15116}(MessageNumber : 15116; MessageString : sdstAvailTrigger),
|
||||||
|
{15117}(MessageNumber : 15117; MessageString : sdstWndHandler),
|
||||||
|
{15118}(MessageNumber : 15118; MessageString : sdstProcHandler),
|
||||||
|
{15119}(MessageNumber : 15119; MessageString : sdstEventHandler),
|
||||||
|
{15120}(MessageNumber : 15120; MessageString : sdstSWill),
|
||||||
|
{15121}(MessageNumber : 15121; MessageString : sdstSWont),
|
||||||
|
{15122}(MessageNumber : 15122; MessageString : sdstSDo),
|
||||||
|
{15123}(MessageNumber : 15123; MessageString : sdstSDont),
|
||||||
|
{15124}(MessageNumber : 15124; MessageString : sdstRWill),
|
||||||
|
{15125}(MessageNumber : 15125; MessageString : sdstRWont),
|
||||||
|
{15126}(MessageNumber : 15126; MessageString : sdstRDo),
|
||||||
|
{15127}(MessageNumber : 15127; MessageString : sdstRDont),
|
||||||
|
{15128}(MessageNumber : 15128; MessageString : sdstCommand),
|
||||||
|
{15129}(MessageNumber : 15129; MessageString : sdstSTerm),
|
||||||
|
{15130}(MessageNumber : 15130; MessageString : sdsttfNone),
|
||||||
|
{15131}(MessageNumber : 15131; MessageString : sdsttfGetEntry),
|
||||||
|
{15132}(MessageNumber : 15132; MessageString : sdsttfInit),
|
||||||
|
{15133}(MessageNumber : 15133; MessageString : sdsttf1Init1),
|
||||||
|
{15134}(MessageNumber : 15134; MessageString : sdsttf2Init1),
|
||||||
|
{15135}(MessageNumber : 15135; MessageString : sdsttf2Init1A),
|
||||||
|
{15136}(MessageNumber : 15136; MessageString : sdsttf2Init1B),
|
||||||
|
{15137}(MessageNumber : 15137; MessageString : sdsttf2Init2),
|
||||||
|
{15138}(MessageNumber : 15138; MessageString : sdsttf2Init3),
|
||||||
|
{15139}(MessageNumber : 15139; MessageString : sdsttfDial),
|
||||||
|
{15140}(MessageNumber : 15140; MessageString : sdsttfRetryWait),
|
||||||
|
{15141}(MessageNumber : 15141; MessageString : sdsttf1Connect),
|
||||||
|
{15142}(MessageNumber : 15142; MessageString : sdsttf1SendTSI),
|
||||||
|
{15143}(MessageNumber : 15143; MessageString : sdsttf1TSIResponse),
|
||||||
|
{15144}(MessageNumber : 15144; MessageString : sdsttf1DCSResponse),
|
||||||
|
{15145}(MessageNumber : 15145; MessageString : sdsttf1TrainStart),
|
||||||
|
{15146}(MessageNumber : 15146; MessageString : sdsttf1TrainFinish),
|
||||||
|
{15147}(MessageNumber : 15147; MessageString : sdsttf1WaitCFR),
|
||||||
|
{15148}(MessageNumber : 15148; MessageString : sdsttf1WaitPageConnect),
|
||||||
|
{15149}(MessageNumber : 15149; MessageString : sdsttf2Connect),
|
||||||
|
{15150}(MessageNumber : 15150; MessageString : sdsttf2GetParams),
|
||||||
|
{15151}(MessageNumber : 15151; MessageString : sdsttfWaitXon),
|
||||||
|
{15152}(MessageNumber : 15152; MessageString : sdsttfWaitFreeHeader),
|
||||||
|
{15153}(MessageNumber : 15153; MessageString : sdsttfSendPageHeader),
|
||||||
|
{15154}(MessageNumber : 15154; MessageString : sdsttfOpenCover),
|
||||||
|
{15155}(MessageNumber : 15155; MessageString : sdsttfSendCover),
|
||||||
|
{15156}(MessageNumber : 15156; MessageString : sdsttfPrepPage),
|
||||||
|
{15157}(MessageNumber : 15157; MessageString : sdsttfSendPage),
|
||||||
|
{15158}(MessageNumber : 15158; MessageString : sdsttfDrainPage),
|
||||||
|
{15159}(MessageNumber : 15159; MessageString : sdsttf1PageEnd),
|
||||||
|
{15160}(MessageNumber : 15160; MessageString : sdsttf1PrepareEOP),
|
||||||
|
{15161}(MessageNumber : 15161; MessageString : sdsttf1SendEOP),
|
||||||
|
{15162}(MessageNumber : 15162; MessageString : sdsttf1WaitMPS),
|
||||||
|
{15163}(MessageNumber : 15163; MessageString : sdsttf1WaitEOP),
|
||||||
|
{15164}(MessageNumber : 15164; MessageString : sdsttf1WaitMCF),
|
||||||
|
{15165}(MessageNumber : 15165; MessageString : sdsttf1SendDCN),
|
||||||
|
{15166}(MessageNumber : 15166; MessageString : sdsttf1Hangup),
|
||||||
|
{15167}(MessageNumber : 15167; MessageString : sdsttf1WaitHangup),
|
||||||
|
{15168}(MessageNumber : 15168; MessageString : sdsttf2SendEOP),
|
||||||
|
{15169}(MessageNumber : 15169; MessageString : sdsttf2WaitFPTS),
|
||||||
|
{15170}(MessageNumber : 15170; MessageString : sdsttf2WaitFET),
|
||||||
|
{15171}(MessageNumber : 15171; MessageString : sdsttf2WaitPageOK),
|
||||||
|
{15172}(MessageNumber : 15172; MessageString : sdsttf2SendNewParams),
|
||||||
|
{15173}(MessageNumber : 15173; MessageString : sdsttf2NextPage),
|
||||||
|
{15174}(MessageNumber : 15174; MessageString : sdsttf20CheckPage),
|
||||||
|
{15175}(MessageNumber : 15175; MessageString : sdsttfClose),
|
||||||
|
{15176}(MessageNumber : 15176; MessageString : sdsttfCompleteOK),
|
||||||
|
{15177}(MessageNumber : 15177; MessageString : sdsttfAbort),
|
||||||
|
{15178}(MessageNumber : 15178; MessageString : sdsttfDone),
|
||||||
|
{15179}(MessageNumber : 15179; MessageString : sdstrfNone),
|
||||||
|
{15180}(MessageNumber : 15180; MessageString : sdstrfInit),
|
||||||
|
{15181}(MessageNumber : 15181; MessageString : sdstrf1Init1),
|
||||||
|
{15182}(MessageNumber : 15182; MessageString : sdstrf2Init1),
|
||||||
|
{15183}(MessageNumber : 15183; MessageString : sdstrf2Init1A),
|
||||||
|
{15184}(MessageNumber : 15184; MessageString : sdstrf2Init1B),
|
||||||
|
{15185}(MessageNumber : 15185; MessageString : sdstrf2Init2),
|
||||||
|
{15186}(MessageNumber : 15186; MessageString : sdstrf2Init3),
|
||||||
|
{15187}(MessageNumber : 15187; MessageString : sdstrfWaiting),
|
||||||
|
{15188}(MessageNumber : 15188; MessageString : sdstrfAnswer),
|
||||||
|
{15189}(MessageNumber : 15189; MessageString : sdstrf1SendCSI),
|
||||||
|
{15190}(MessageNumber : 15190; MessageString : sdstrf1SendDIS),
|
||||||
|
{15191}(MessageNumber : 15191; MessageString : sdstrf1CollectFrames),
|
||||||
|
{15192}(MessageNumber : 15192; MessageString : sdstrf1CollectRetry1),
|
||||||
|
{15193}(MessageNumber : 15193; MessageString : sdstrf1CollectRetry2),
|
||||||
|
{15194}(MessageNumber : 15194; MessageString : sdstrf1StartTrain),
|
||||||
|
{15195}(MessageNumber : 15195; MessageString : sdstrf1CollectTrain),
|
||||||
|
{15196}(MessageNumber : 15196; MessageString : sdstrf1Timeout),
|
||||||
|
{15197}(MessageNumber : 15197; MessageString : sdstrf1Retrain),
|
||||||
|
{15198}(MessageNumber : 15198; MessageString : sdstrf1FinishTrain),
|
||||||
|
{15199}(MessageNumber : 15199; MessageString : sdstrf1SendCFR),
|
||||||
|
{15200}(MessageNumber : 15200; MessageString : sdstrf1WaitPageConnect),
|
||||||
|
{15201}(MessageNumber : 15201; MessageString : sdstrf2ValidConnect),
|
||||||
|
{15202}(MessageNumber : 15202; MessageString : sdstrf2GetSenderID),
|
||||||
|
{15203}(MessageNumber : 15203; MessageString : sdstrf2GetConnect),
|
||||||
|
{15204}(MessageNumber : 15204; MessageString : sdstrfStartPage),
|
||||||
|
{15205}(MessageNumber : 15205; MessageString : sdstrfGetPageData),
|
||||||
|
{15206}(MessageNumber : 15206; MessageString : sdstrf1FinishPage),
|
||||||
|
{15207}(MessageNumber : 15207; MessageString : sdstrf1WaitEOP),
|
||||||
|
{15208}(MessageNumber : 15208; MessageString : sdstrf1WritePage),
|
||||||
|
{15209}(MessageNumber : 15209; MessageString : sdstrf1SendMCF),
|
||||||
|
{15210}(MessageNumber : 15210; MessageString : sdstrf1WaitDCN),
|
||||||
|
{15211}(MessageNumber : 15211; MessageString : sdstrf1WaitHangup),
|
||||||
|
{15212}(MessageNumber : 15212; MessageString : sdstrf2GetPageResult),
|
||||||
|
{15213}(MessageNumber : 15213; MessageString : sdstrf2GetFHNG),
|
||||||
|
{15214}(MessageNumber : 15214; MessageString : sdstrfComplete),
|
||||||
|
{15215}(MessageNumber : 15215; MessageString : sdstrfAbort),
|
||||||
|
{15216}(MessageNumber : 15216; MessageString : sdstrfDone),
|
||||||
|
{15217}(MessageNumber : 15217; MessageString : sdsttxInitial),
|
||||||
|
{15218}(MessageNumber : 15218; MessageString : sdsttxHandshake),
|
||||||
|
{15219}(MessageNumber : 15219; MessageString : sdsttxGetBlock),
|
||||||
|
{15220}(MessageNumber : 15220; MessageString : sdsttxWaitFreeSpace),
|
||||||
|
{15221}(MessageNumber : 15221; MessageString : sdsttxSendBlock),
|
||||||
|
{15222}(MessageNumber : 15222; MessageString : sdsttxDraining),
|
||||||
|
{15223}(MessageNumber : 15223; MessageString : sdsttxReplyPending),
|
||||||
|
{15224}(MessageNumber : 15224; MessageString : sdsttxEndDrain),
|
||||||
|
{15225}(MessageNumber : 15225; MessageString : sdsttxFirstEndOfTransmit),
|
||||||
|
{15226}(MessageNumber : 15226; MessageString : sdsttxRestEndOfTransmit),
|
||||||
|
{15227}(MessageNumber : 15227; MessageString : sdsttxEotReply),
|
||||||
|
{15228}(MessageNumber : 15228; MessageString : sdsttxFinished),
|
||||||
|
{15229}(MessageNumber : 15229; MessageString : sdsttxDone),
|
||||||
|
{15230}(MessageNumber : 15230; MessageString : sdstrxInitial),
|
||||||
|
{15231}(MessageNumber : 15231; MessageString : sdstrxWaitForHSReply),
|
||||||
|
{15232}(MessageNumber : 15232; MessageString : sdstrxWaitForBlockStart),
|
||||||
|
{15233}(MessageNumber : 15233; MessageString : sdstrxCollectBlock),
|
||||||
|
{15234}(MessageNumber : 15234; MessageString : sdstrxProcessBlock),
|
||||||
|
{15235}(MessageNumber : 15235; MessageString : sdstrxFinishedSkip),
|
||||||
|
{15236}(MessageNumber : 15236; MessageString : sdstrxFinished),
|
||||||
|
{15237}(MessageNumber : 15237; MessageString : sdstrxDone),
|
||||||
|
{15238}(MessageNumber : 15238; MessageString : sdsttyInitial),
|
||||||
|
{15239}(MessageNumber : 15239; MessageString : sdsttyHandshake),
|
||||||
|
{15240}(MessageNumber : 15240; MessageString : sdsttyGetFileName),
|
||||||
|
{15241}(MessageNumber : 15241; MessageString : sdsttySendFileName),
|
||||||
|
{15242}(MessageNumber : 15242; MessageString : sdsttyDraining),
|
||||||
|
{15243}(MessageNumber : 15243; MessageString : sdsttyReplyPending),
|
||||||
|
{15244}(MessageNumber : 15244; MessageString : sdsttyPrepXmodem),
|
||||||
|
{15245}(MessageNumber : 15245; MessageString : sdsttySendXmodem),
|
||||||
|
{15246}(MessageNumber : 15246; MessageString : sdsttyFinished),
|
||||||
|
{15247}(MessageNumber : 15247; MessageString : sdsttyFinishDrain),
|
||||||
|
{15248}(MessageNumber : 15248; MessageString : sdsttyDone),
|
||||||
|
{15249}(MessageNumber : 15249; MessageString : sdstryInitial),
|
||||||
|
{15250}(MessageNumber : 15250; MessageString : sdstryDelay),
|
||||||
|
{15251}(MessageNumber : 15251; MessageString : sdstryWaitForHSReply),
|
||||||
|
{15252}(MessageNumber : 15252; MessageString : sdstryWaitForBlockStart),
|
||||||
|
{15253}(MessageNumber : 15253; MessageString : sdstryCollectBlock),
|
||||||
|
{15254}(MessageNumber : 15254; MessageString : sdstryProcessBlock),
|
||||||
|
{15255}(MessageNumber : 15255; MessageString : sdstryOpenFile),
|
||||||
|
{15256}(MessageNumber : 15256; MessageString : sdstryPrepXmodem),
|
||||||
|
{15257}(MessageNumber : 15257; MessageString : sdstryReceiveXmodem),
|
||||||
|
{15258}(MessageNumber : 15258; MessageString : sdstryFinished),
|
||||||
|
{15259}(MessageNumber : 15259; MessageString : sdstryDone),
|
||||||
|
{15260}(MessageNumber : 15260; MessageString : sdsttzInitial),
|
||||||
|
{15261}(MessageNumber : 15261; MessageString : sdsttzHandshake),
|
||||||
|
{15262}(MessageNumber : 15262; MessageString : sdsttzGetFile),
|
||||||
|
{15263}(MessageNumber : 15263; MessageString : sdsttzSendFile),
|
||||||
|
{15264}(MessageNumber : 15264; MessageString : sdsttzCheckFile),
|
||||||
|
{15265}(MessageNumber : 15265; MessageString : sdsttzStartData),
|
||||||
|
{15266}(MessageNumber : 15266; MessageString : sdsttzEscapeData),
|
||||||
|
{15267}(MessageNumber : 15267; MessageString : sdsttzSendData),
|
||||||
|
{15268}(MessageNumber : 15268; MessageString : sdsttzWaitAck),
|
||||||
|
{15269}(MessageNumber : 15269; MessageString : sdsttzSendEof),
|
||||||
|
{15270}(MessageNumber : 15270; MessageString : sdsttzDrainEof),
|
||||||
|
{15271}(MessageNumber : 15271; MessageString : sdsttzCheckEof),
|
||||||
|
{15272}(MessageNumber : 15272; MessageString : sdsttzSendFinish),
|
||||||
|
{15273}(MessageNumber : 15273; MessageString : sdsttzCheckFinish),
|
||||||
|
{15274}(MessageNumber : 15274; MessageString : sdsttzError),
|
||||||
|
{15275}(MessageNumber : 15275; MessageString : sdsttzCleanup),
|
||||||
|
{15276}(MessageNumber : 15276; MessageString : sdsttzDone),
|
||||||
|
{15277}(MessageNumber : 15277; MessageString : sdstrzRqstFile),
|
||||||
|
{15278}(MessageNumber : 15278; MessageString : sdstrzDelay),
|
||||||
|
{15279}(MessageNumber : 15279; MessageString : sdstrzWaitFile),
|
||||||
|
{15280}(MessageNumber : 15280; MessageString : sdstrzCollectFile),
|
||||||
|
{15281}(MessageNumber : 15281; MessageString : sdstrzSendInit),
|
||||||
|
{15282}(MessageNumber : 15282; MessageString : sdstrzSendBlockPrep),
|
||||||
|
{15283}(MessageNumber : 15283; MessageString : sdstrzSendBlock),
|
||||||
|
{15284}(MessageNumber : 15284; MessageString : sdstrzSync),
|
||||||
|
{15285}(MessageNumber : 15285; MessageString : sdstrzStartFile),
|
||||||
|
{15286}(MessageNumber : 15286; MessageString : sdstrzStartData),
|
||||||
|
{15287}(MessageNumber : 15287; MessageString : sdstrzCollectData),
|
||||||
|
{15288}(MessageNumber : 15288; MessageString : sdstrzGotData),
|
||||||
|
{15289}(MessageNumber : 15289; MessageString : sdstrzWaitEof),
|
||||||
|
{15290}(MessageNumber : 15290; MessageString : sdstrzEndOfFile),
|
||||||
|
{15291}(MessageNumber : 15291; MessageString : sdstrzSendFinish),
|
||||||
|
{15292}(MessageNumber : 15292; MessageString : sdstrzCollectFinish),
|
||||||
|
{15293}(MessageNumber : 15293; MessageString : sdstrzError),
|
||||||
|
{15294}(MessageNumber : 15294; MessageString : sdstrzWaitCancel),
|
||||||
|
{15295}(MessageNumber : 15295; MessageString : sdstrzCleanup),
|
||||||
|
{15296}(MessageNumber : 15296; MessageString : sdstrzDone),
|
||||||
|
{15297}(MessageNumber : 15297; MessageString : sdsttkInit),
|
||||||
|
{15298}(MessageNumber : 15298; MessageString : sdsttkInitReply),
|
||||||
|
{15299}(MessageNumber : 15299; MessageString : sdsttkCollectInit),
|
||||||
|
{15300}(MessageNumber : 15300; MessageString : sdsttkOpenFile),
|
||||||
|
{15301}(MessageNumber : 15301; MessageString : sdsttkSendFile),
|
||||||
|
{15302}(MessageNumber : 15302; MessageString : sdsttkFileReply),
|
||||||
|
{15303}(MessageNumber : 15303; MessageString : sdsttkCollectFile),
|
||||||
|
{15304}(MessageNumber : 15304; MessageString : sdsttkCheckTable),
|
||||||
|
{15305}(MessageNumber : 15305; MessageString : sdsttkSendData),
|
||||||
|
{15306}(MessageNumber : 15306; MessageString : sdsttkBlockReply),
|
||||||
|
{15307}(MessageNumber : 15307; MessageString : sdsttkCollectBlock),
|
||||||
|
{15308}(MessageNumber : 15308; MessageString : sdsttkSendEof),
|
||||||
|
{15309}(MessageNumber : 15309; MessageString : sdsttkEofReply),
|
||||||
|
{15310}(MessageNumber : 15310; MessageString : sdsttkCollectEof),
|
||||||
|
{15311}(MessageNumber : 15311; MessageString : sdsttkSendBreak),
|
||||||
|
{15312}(MessageNumber : 15312; MessageString : sdsttkBreakReply),
|
||||||
|
{15313}(MessageNumber : 15313; MessageString : sdsttkCollectBreak),
|
||||||
|
{15314}(MessageNumber : 15314; MessageString : sdsttkComplete),
|
||||||
|
{15315}(MessageNumber : 15315; MessageString : sdsttkWaitCancel),
|
||||||
|
{15316}(MessageNumber : 15316; MessageString : sdsttkError),
|
||||||
|
{15317}(MessageNumber : 15317; MessageString : sdsttkDone),
|
||||||
|
{15318}(MessageNumber : 15318; MessageString : sdstrkInit),
|
||||||
|
{15319}(MessageNumber : 15319; MessageString : sdstrkGetInit),
|
||||||
|
{15320}(MessageNumber : 15320; MessageString : sdstrkCollectInit),
|
||||||
|
{15321}(MessageNumber : 15321; MessageString : sdstrkGetFile),
|
||||||
|
{15322}(MessageNumber : 15322; MessageString : sdstrkCollectFile),
|
||||||
|
{15323}(MessageNumber : 15323; MessageString : sdstrkGetData),
|
||||||
|
{15324}(MessageNumber : 15324; MessageString : sdstrkCollectData),
|
||||||
|
{15325}(MessageNumber : 15325; MessageString : sdstrkComplete),
|
||||||
|
{15326}(MessageNumber : 15326; MessageString : sdstrkWaitCancel),
|
||||||
|
{15327}(MessageNumber : 15327; MessageString : sdstrkError),
|
||||||
|
{15328}(MessageNumber : 15328; MessageString : sdstrkDone),
|
||||||
|
{15329}(MessageNumber : 15329; MessageString : sdsttaInitial),
|
||||||
|
{15330}(MessageNumber : 15330; MessageString : sdsttaGetBlock),
|
||||||
|
{15331}(MessageNumber : 15331; MessageString : sdsttaWaitFreeSpace),
|
||||||
|
{15332}(MessageNumber : 15332; MessageString : sdsttaSendBlock),
|
||||||
|
{15333}(MessageNumber : 15333; MessageString : sdsttaSendDelay),
|
||||||
|
{15334}(MessageNumber : 15334; MessageString : sdsttaFinishDrain),
|
||||||
|
{15335}(MessageNumber : 15335; MessageString : sdsttaFinished),
|
||||||
|
{15336}(MessageNumber : 15336; MessageString : sdsttaDone),
|
||||||
|
{15337}(MessageNumber : 15337; MessageString : sdstraInitial),
|
||||||
|
{15338}(MessageNumber : 15338; MessageString : sdstraCollectBlock),
|
||||||
|
{15339}(MessageNumber : 15339; MessageString : sdstraProcessBlock),
|
||||||
|
{15340}(MessageNumber : 15340; MessageString : sdstraFinished),
|
||||||
|
{15341}(MessageNumber : 15341; MessageString : sdstraDone),
|
||||||
|
{15342}(MessageNumber : 15342; MessageString : sdstEnable),
|
||||||
|
{15343}(MessageNumber : 15343; MessageString : sdstDisable),
|
||||||
|
{15344}(MessageNumber : 15344; MessageString : sdstStringPacket),
|
||||||
|
{15345}(MessageNumber : 15345; MessageString : sdstSizePacket),
|
||||||
|
{15346}(MessageNumber : 15346; MessageString : sdstPacketTimeout),
|
||||||
|
{15347}(MessageNumber : 15347; MessageString : sdstStartStr),
|
||||||
|
{15348}(MessageNumber : 15348; MessageString : sdstEndStr),
|
||||||
|
{15349}(MessageNumber : 15349; MessageString : sdstIdle),
|
||||||
|
{15350}(MessageNumber : 15350; MessageString : sdstWaiting),
|
||||||
|
{15351}(MessageNumber : 15351; MessageString : sdstCollecting),
|
||||||
|
{15352}(MessageNumber : 15352; MessageString : sdstThreadStatusQueued), // SWB
|
||||||
|
{15353}(MessageNumber : 15353; MessageString : sdstThreadDataQueued), // SWB
|
||||||
|
{15354}(MessageNumber : 15354; MessageString : sdstThreadDataWritten), // SWB
|
||||||
|
{15355}(MessageNumber : 15355; MessageString : sdsttzSInit), // SWB
|
||||||
|
{15356}(MessageNumber : 15356; MessageString : sdsttzCheckSInit), // SWB
|
||||||
|
{15501}(MessageNumber : 15501; MessageString : sdispHeader),
|
||||||
|
{15502}(MessageNumber : 15502; MessageString : sdispHeaderLine),
|
||||||
|
{15601}(MessageNumber : 15601; MessageString : sdispmdmtagDCTS),
|
||||||
|
{15602}(MessageNumber : 15602; MessageString : sdispmdmtagDDSR),
|
||||||
|
{15603}(MessageNumber : 15603; MessageString : sdispmdmtagTERI),
|
||||||
|
{15604}(MessageNumber : 15604; MessageString : sdispmdmtagDDCD),
|
||||||
|
{15605}(MessageNumber : 15605; MessageString : sdispmdmtagCTS),
|
||||||
|
{15606}(MessageNumber : 15606; MessageString : sdispmdmtagDSR),
|
||||||
|
{15607}(MessageNumber : 15607; MessageString : sdispmdmtagRI),
|
||||||
|
{15608}(MessageNumber : 15608; MessageString : sdispmdmtagDCD),
|
||||||
|
{15700}(MessageNumber : 15700; MessageString : sdispTelnetBinary),
|
||||||
|
{15701}(MessageNumber : 15701; MessageString : sdispTelnetEcho),
|
||||||
|
{15702}(MessageNumber : 15702; MessageString : sdispTelnetReconnection),
|
||||||
|
{15703}(MessageNumber : 15703; MessageString : sdispTelnetSupressGoAhead),
|
||||||
|
{15704}(MessageNumber : 15704; MessageString : sdispTelnetApproxMsgSize),
|
||||||
|
{15705}(MessageNumber : 15705; MessageString : sdispTelnetStatus),
|
||||||
|
{15706}(MessageNumber : 15706; MessageString : sdispTelnetTimingMark),
|
||||||
|
{15707}(MessageNumber : 15707; MessageString : sdispTelnetRemoteTransEcho),
|
||||||
|
{15708}(MessageNumber : 15708; MessageString : sdispTelnetOutputLineWidth),
|
||||||
|
{15709}(MessageNumber : 15709; MessageString : sdispTelnetOutputPageSize),
|
||||||
|
{15710}(MessageNumber : 15710; MessageString : sdispTelnetOutputCRDisp),
|
||||||
|
{15711}(MessageNumber : 15711; MessageString : sdispTelnetOutputHorzTabs),
|
||||||
|
{15712}(MessageNumber : 15712; MessageString : sdispTelnetOutputHorzTabDisp),
|
||||||
|
{15713}(MessageNumber : 15713; MessageString : sdispTelnetOutputFFDisp),
|
||||||
|
{15714}(MessageNumber : 15714; MessageString : sdispTelnetOutputVertTabs),
|
||||||
|
{15715}(MessageNumber : 15715; MessageString : sdispTelnetOutputVertTabDisp),
|
||||||
|
{15716}(MessageNumber : 15716; MessageString : sdispTelnetOutputLinefeedDisp),
|
||||||
|
{15717}(MessageNumber : 15717; MessageString : sdispTelnetExtendedASCII),
|
||||||
|
{15718}(MessageNumber : 15718; MessageString : sdispTelnetLogout),
|
||||||
|
{15719}(MessageNumber : 15719; MessageString : sdispTelnetByteMacro),
|
||||||
|
{15720}(MessageNumber : 15720; MessageString : sdispTelnetDataEntryTerminal),
|
||||||
|
{15721}(MessageNumber : 15721; MessageString : sdispTelnetSUPDUP),
|
||||||
|
{15722}(MessageNumber : 15722; MessageString : sdispTelnetSUPDUPOutput),
|
||||||
|
{15723}(MessageNumber : 15723; MessageString : sdispTelnetSendLocation),
|
||||||
|
{15724}(MessageNumber : 15724; MessageString : sdispTelnetTerminalType),
|
||||||
|
{15725}(MessageNumber : 15725; MessageString : sdispTelnetEndofRecord),
|
||||||
|
{15726}(MessageNumber : 15726; MessageString : sdispTelnetTACACSUserID),
|
||||||
|
{15727}(MessageNumber : 15727; MessageString : sdispTelnetOutputMarking),
|
||||||
|
{15728}(MessageNumber : 15728; MessageString : sdispTelnetTerminalLocNum),
|
||||||
|
{15729}(MessageNumber : 15729; MessageString : sdispTelnetTelnet3270Regime),
|
||||||
|
{15730}(MessageNumber : 15730; MessageString : sdispTelnetX3PAD),
|
||||||
|
{15731}(MessageNumber : 15731; MessageString : sdispTelnetNegWindowSize),
|
||||||
|
{15732}(MessageNumber : 15732; MessageString : sdispTelnetTerminalSpeed),
|
||||||
|
{15733}(MessageNumber : 15733; MessageString : sdispTelnetFlowControl),
|
||||||
|
{15734}(MessageNumber : 15734; MessageString : sdispTelnetLineMode),
|
||||||
|
{15735}(MessageNumber : 15735; MessageString : sdispTelnetXDisplayLocation),
|
||||||
|
{15736}(MessageNumber : 15736; MessageString : sdispTelnetEnvironment),
|
||||||
|
{15737}(MessageNumber : 15737; MessageString : sdispTelnetAuthentication),
|
||||||
|
{15738}(MessageNumber : 15738; MessageString : sdispTelnetTelnetcode38),
|
||||||
|
{15739}(MessageNumber : 15739; MessageString : sdispTelnetNewEnvironment),
|
||||||
|
{15740}(MessageNumber : 15740; MessageString : sdispTelnetTelnetcode40),
|
||||||
|
{15741}(MessageNumber : 15741; MessageString : sdispTelnetTelnetcode41),
|
||||||
|
{15742}(MessageNumber : 15742; MessageString : sdispTelnetCharacterSet)
|
||||||
|
);
|
||||||
|
|
||||||
|
implementation
|
||||||
|
end.
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* AWDEFINE.INC 4.06 *}
|
||||||
|
{*********************************************************}
|
||||||
|
{* Compiler defines affecting all APRO units *}
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
{Because AWDEFINE.INC is included in all APRO units, you can specify global
|
||||||
|
compiler options here. AWDEFINE is included *before* each units' required
|
||||||
|
compiler options, so options specified here might be overridden by hardcode
|
||||||
|
options in the source file.}
|
||||||
|
|
||||||
|
{$S- No stack overflow checking}
|
||||||
|
{$R- No range checking}
|
||||||
|
{$B- Incomplete boolean evaluation}
|
||||||
|
{$P- No open string parameters}
|
||||||
|
{$Q- No arithmetic overflow checking}
|
||||||
|
{$T- No type-checked pointers}
|
||||||
|
{$V- No var string checking}
|
||||||
|
{$X+ Extended syntax}
|
||||||
|
{$Z- Enumeration size is 256}
|
||||||
|
|
||||||
|
{$H+ Long string support}
|
||||||
|
{$J+ Writeable typed constants}
|
||||||
|
|
||||||
|
{.$DEFINE TapiDebug} { creates detailed TAPI debug log }
|
||||||
|
{.$DEFINE AdModemDebug} { adds debug info to dispatcher log }
|
||||||
|
|
||||||
|
{$WARN SYMBOL_PLATFORM OFF} {APRO only works under Windows}
|
||||||
|
{$WARN UNIT_PLATFORM OFF} {APRO only works under Windows}
|
||||||
+4886
File diff suppressed because it is too large
Load Diff
+563
@@ -0,0 +1,563 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Sulaiman Mah
|
||||||
|
* Sean B. Durkin
|
||||||
|
* Sebastian Zierer
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
|
||||||
|
{*********************************************************}
|
||||||
|
{* AWWIN32.PAS 5.00 *}
|
||||||
|
{*********************************************************}
|
||||||
|
{* Win32 serial device layer and dispatcher *}
|
||||||
|
{*********************************************************}
|
||||||
|
|
||||||
|
{
|
||||||
|
Along with AwUser.pas, this unit defines/implements the dreaded Windows
|
||||||
|
serial port dispatcher. This unit provides the interface to the Win32
|
||||||
|
serial port drivers, the threading code is in AwUser.pas.
|
||||||
|
Be extrememly cautious when making changes here or in AwUser. The multi-
|
||||||
|
threaded nature, and very strict timing requirements, can lead to very
|
||||||
|
unpredictable results. Things as simple as adding doing a writeln to a
|
||||||
|
console window can dramatically change the results.
|
||||||
|
}
|
||||||
|
|
||||||
|
{Global defines potentially affecting this unit}
|
||||||
|
{$I AWDEFINE.INC}
|
||||||
|
|
||||||
|
{Options required for this unit}
|
||||||
|
{$X+,F+,K+,B-}
|
||||||
|
|
||||||
|
unit AwWin32;
|
||||||
|
{-Device layer for standard Win32 communications API}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows,
|
||||||
|
Classes,
|
||||||
|
SysUtils,
|
||||||
|
AdWUtil,
|
||||||
|
AdSocket,
|
||||||
|
OoMisc,
|
||||||
|
awUser;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
TApdWin32Dispatcher = class(TApdBaseDispatcher)
|
||||||
|
protected
|
||||||
|
ReadOL : TOverLapped;
|
||||||
|
WriteOL : TOverLapped;
|
||||||
|
function EscapeComFunction(Func : Integer) : Integer; override;
|
||||||
|
function FlushCom(Queue : Integer) : Integer; override;
|
||||||
|
function GetComError(var Stat : TComStat) : Integer; override;
|
||||||
|
function GetComEventMask(EvtMask : Integer) : Cardinal; override;
|
||||||
|
function GetComState(var DCB: TDCB): Integer; override;
|
||||||
|
function SetComState(var DCB : TDCB) : Integer; override;
|
||||||
|
function ReadCom(Buf : PAnsiChar; Size: Integer) : Integer; override;
|
||||||
|
function WriteCom(Buf : PAnsiChar; Size: Integer) : Integer; override;
|
||||||
|
function SetupCom(InSize, OutSize : Integer) : Boolean; override;
|
||||||
|
procedure StartDispatcher; override;
|
||||||
|
procedure StopDispatcher; override;
|
||||||
|
function WaitComEvent(var EvtMask : DWORD;
|
||||||
|
lpOverlapped : POverlapped) : Boolean; override;
|
||||||
|
function OutBufUsed: Cardinal; override; // SWB
|
||||||
|
public
|
||||||
|
function CloseCom : Integer; override;
|
||||||
|
function OpenCom(ComName: PChar; InQueue,
|
||||||
|
OutQueue : Cardinal) : Integer; override;
|
||||||
|
function ProcessCommunications : Integer; override;
|
||||||
|
function CheckPort(ComName: PChar): Boolean; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TApdTAPI32Dispatcher = class(TApdWin32Dispatcher)
|
||||||
|
public
|
||||||
|
constructor Create(Owner : TObject; InCid : Integer);
|
||||||
|
function OpenCom(ComName: PChar; InQueue,
|
||||||
|
OutQueue : Cardinal) : Integer; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
StrUtils;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.CheckPort(ComName: PChar): Boolean; //SZ
|
||||||
|
// Returns true if a port exists
|
||||||
|
var
|
||||||
|
Tmp: string;
|
||||||
|
CC: PCommConfig;
|
||||||
|
Len: Cardinal;
|
||||||
|
begin
|
||||||
|
Tmp := ComName;
|
||||||
|
if AnsiStartsText('\\.\', Tmp) then
|
||||||
|
Delete(Tmp, 1, 4);
|
||||||
|
|
||||||
|
New(CC);
|
||||||
|
try
|
||||||
|
FillChar(CC^, SizeOf(CC^), 0);
|
||||||
|
CC^.dwSize := SizeOf(CC^);
|
||||||
|
Len := SizeOf(CC^);
|
||||||
|
Result := GetDefaultCommConfig(PChar(Tmp), CC^, Len);
|
||||||
|
finally
|
||||||
|
Dispose(CC);
|
||||||
|
end;
|
||||||
|
if (not Result) and (GetLastError = ERROR_INSUFFICIENT_BUFFER) then
|
||||||
|
begin
|
||||||
|
GetMem(CC, Len);
|
||||||
|
try
|
||||||
|
FillChar(CC^, SizeOf(CC^), 0);
|
||||||
|
CC^.dwSize := SizeOf(CC^);
|
||||||
|
Result := GetDefaultCommConfig(PChar(Tmp), CC^, Len);
|
||||||
|
finally
|
||||||
|
FreeMem(CC);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.CloseCom : Integer;
|
||||||
|
{-Close the comport and cleanup}
|
||||||
|
begin
|
||||||
|
// Under certain circumstances, it is possible that CloseCom can be called
|
||||||
|
// recursively. In that event, we don't want to be re-executing this code.
|
||||||
|
// So, set a flag to show that we are inside this method and check it
|
||||||
|
// every time we enter. If it is already set, just exit and do nothing.
|
||||||
|
// This used to be accomplished by acquiring the DataSection critical section
|
||||||
|
// but this lead to occasional deadlocks.
|
||||||
|
EnterCriticalSection(DataSection); // SWB
|
||||||
|
if (CloseComActive) then // SWB
|
||||||
|
begin // SWB
|
||||||
|
LeaveCriticalSection(DataSection); // SWB
|
||||||
|
Result := 0; // SWB
|
||||||
|
Exit; // SWB
|
||||||
|
end; // SWB
|
||||||
|
CloseComActive := True; // SWB
|
||||||
|
LeaveCriticalSection(DataSection); // SWB
|
||||||
|
try // SWB
|
||||||
|
{Release the events}
|
||||||
|
if ReadOL.hEvent <> 0 then begin
|
||||||
|
CloseHandle(ReadOL.hEvent);
|
||||||
|
ReadOL.hEvent := 0;
|
||||||
|
end;
|
||||||
|
if WriteOL.hEvent <> 0 then begin
|
||||||
|
CloseHandle(WriteOL.hEvent);
|
||||||
|
WriteOL.hEvent := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if DispActive then begin
|
||||||
|
KillThreads := True;
|
||||||
|
|
||||||
|
{Force the comm thread to wake...}
|
||||||
|
SetCommMask(CidEx, 0);
|
||||||
|
SetEvent(ReadyEvent);
|
||||||
|
ResetEvent(GeneralEvent);
|
||||||
|
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(ComKill));
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
{Close the comport}
|
||||||
|
if CloseHandle(CidEx) then begin
|
||||||
|
Result := 0;
|
||||||
|
CidEx := -1;
|
||||||
|
end else
|
||||||
|
Result := -1;
|
||||||
|
finally // SWB
|
||||||
|
CloseComActive := False; // SWB
|
||||||
|
end; // SWB
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.EscapeComFunction(Func: Integer): Integer;
|
||||||
|
{-Perform the extended comm function Func}
|
||||||
|
begin
|
||||||
|
EscapeCommFunction(CidEx, Func);
|
||||||
|
Result := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.FlushCom(Queue: Integer): Integer;
|
||||||
|
{-Flush the input or output buffer}
|
||||||
|
begin
|
||||||
|
if (Queue = 0) and (OutThread <> nil) then begin
|
||||||
|
{Flush our own output buffer...}
|
||||||
|
SetEvent(OutFlushEvent);
|
||||||
|
{ this can cause a hang when using an IR port that does not have a }
|
||||||
|
{ connection (the IR receiver is not in range), the port drivers }
|
||||||
|
{ will not flush the buffers, so we'd wait forever }
|
||||||
|
WaitForSingleObject(GeneralEvent, 5000);{INFINITE);} {!!.02}
|
||||||
|
{...XMit thread has acknowledged our request, so flush it}
|
||||||
|
EnterCriticalSection(OutputSection);
|
||||||
|
try
|
||||||
|
OBufFull := False;
|
||||||
|
OBufHead := 0;
|
||||||
|
OBufTail := 0;
|
||||||
|
Result := Integer(PurgeComm(CidEx,
|
||||||
|
PURGE_TXABORT or PURGE_TXCLEAR));
|
||||||
|
finally
|
||||||
|
LeaveCriticalSection(OutputSection);
|
||||||
|
end;
|
||||||
|
end else
|
||||||
|
Result := Integer(PurgeComm(CidEx, PURGE_RXABORT or PURGE_RXCLEAR));
|
||||||
|
|
||||||
|
if Result = 1 then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
Result := -Integer(GetLastError);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.GetComError(var Stat: TComStat): Integer;
|
||||||
|
{-Get the current error and update Stat}
|
||||||
|
var
|
||||||
|
Errors : DWORD;
|
||||||
|
begin
|
||||||
|
if ClearCommError(CidEx, Errors, @Stat) then
|
||||||
|
Result := Errors
|
||||||
|
else
|
||||||
|
Result := 0;
|
||||||
|
|
||||||
|
{Replace information about Windows output buffer with our own}
|
||||||
|
Stat.cbOutQue := OutBufUsed; // SWB
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.GetComEventMask(EvtMask: Integer): Cardinal;
|
||||||
|
{-Set the communications event mask}
|
||||||
|
begin
|
||||||
|
Result := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.GetComState(var DCB: TDCB): Integer;
|
||||||
|
{-Fill in DCB with the current communications state}
|
||||||
|
begin
|
||||||
|
if Integer(GetCommState(CidEx, DCB)) = 1 then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
Result := -1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.OpenCom(ComName: PChar; InQueue, OutQueue: Cardinal): Integer;
|
||||||
|
{-Open the comport specified by ComName}
|
||||||
|
begin
|
||||||
|
{Open the device}
|
||||||
|
Result := CreateFile(ComName, {name}
|
||||||
|
GENERIC_READ or GENERIC_WRITE, {access attributes}
|
||||||
|
0, {no sharing}
|
||||||
|
nil, {no security}
|
||||||
|
OPEN_EXISTING, {creation action}
|
||||||
|
FILE_ATTRIBUTE_NORMAL or
|
||||||
|
FILE_FLAG_OVERLAPPED, {attributes}
|
||||||
|
0); {no template}
|
||||||
|
|
||||||
|
if Result <> Integer(INVALID_HANDLE_VALUE) then begin
|
||||||
|
CidEx := Result;
|
||||||
|
{Create port data structure}
|
||||||
|
ReadOL.hEvent := CreateEvent(nil, True, False, nil);
|
||||||
|
WriteOL.hEvent := CreateEvent(nil, True, False, nil);
|
||||||
|
if (ReadOL.hEvent = 0) or (WriteOL.hEvent = 0) then begin
|
||||||
|
{Failed to create events, get rid of everything}
|
||||||
|
CloseHandle(ReadOL.hEvent);
|
||||||
|
CloseHandle(WriteOL.hEvent);
|
||||||
|
CloseHandle(Result);
|
||||||
|
Result := ecOutOfMemory;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end else
|
||||||
|
{Failed to open port, just return error signal, caller will
|
||||||
|
call GetLastError to get actual error code}
|
||||||
|
Result := -1;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.ReadCom(Buf: PAnsiChar; Size: Integer): Integer;
|
||||||
|
{-Read Size bytes from the comport specified by Cid}
|
||||||
|
var
|
||||||
|
OK : Bool;
|
||||||
|
Temp : DWORD;
|
||||||
|
begin
|
||||||
|
{Post a read request...}
|
||||||
|
OK := ReadFile(CidEx, {handle}
|
||||||
|
Buf^, {buffer}
|
||||||
|
Size, {bytes to read}
|
||||||
|
Temp, {bytes read}
|
||||||
|
@ReadOL); {overlap record}
|
||||||
|
|
||||||
|
{...and see what happened}
|
||||||
|
if not OK then begin
|
||||||
|
if GetLastError = ERROR_IO_PENDING then begin
|
||||||
|
{Waiting for data}
|
||||||
|
if GetOverLappedResult(CidEx, {handle}
|
||||||
|
ReadOL, {overlapped structure}
|
||||||
|
Temp, {bytes written}
|
||||||
|
True) then begin {wait for completion}
|
||||||
|
{Read complete, reset event}
|
||||||
|
ResetEvent(ReadOL.hEvent);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
Result := Integer(Temp);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.SetComState(var DCB: TDCB): Integer;
|
||||||
|
{-Set the a new communications device state from DCB}
|
||||||
|
begin
|
||||||
|
if SetCommState(CidEx, DCB) then
|
||||||
|
Result := 0
|
||||||
|
else
|
||||||
|
Result := -Integer(GetLastError);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.WriteCom(Buf: PAnsiChar; Size: Integer): Integer;
|
||||||
|
{-Write data to the comport}
|
||||||
|
type
|
||||||
|
PBArray = ^TBArray;
|
||||||
|
TBArray = array[0..pred(High(Integer))] of Byte;
|
||||||
|
var
|
||||||
|
SizeAtEnd : Integer;
|
||||||
|
LeftOver : Integer;
|
||||||
|
begin
|
||||||
|
{Add the data to the output queue}
|
||||||
|
EnterCriticalSection(OutputSection);
|
||||||
|
try
|
||||||
|
{we already know at this point that there is enough room for the block}
|
||||||
|
SizeAtEnd := OutQue - OBufHead;
|
||||||
|
if SizeAtEnd >= Size then begin
|
||||||
|
{can move data to output queue in one block}
|
||||||
|
Move(Buf^, OBuffer^[OBufHead], Size);
|
||||||
|
if SizeAtEnd = Size then
|
||||||
|
OBufHead := 0
|
||||||
|
else
|
||||||
|
Inc(OBufHead, Size);
|
||||||
|
end else begin
|
||||||
|
{ need to use two moves }
|
||||||
|
Move(Buf^, OBuffer^[OBufHead], SizeAtEnd);
|
||||||
|
LeftOver := Size - SizeAtEnd;
|
||||||
|
Move(PBArray(Buf)^[SizeAtEnd], OBuffer^, LeftOver);
|
||||||
|
OBufHead := LeftOver;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
LeaveCriticalSection(OutputSection);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{...finally, wake up the output thread to send the data}
|
||||||
|
SetEvent(OutputEvent);
|
||||||
|
Result := Size; {report all was sent}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.SetupCom(InSize, OutSize : Integer) : Boolean;
|
||||||
|
{-Set new in/out buffer sizes}
|
||||||
|
begin
|
||||||
|
Result := SetupComm(CidEx, InSize, OutSize);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.WaitComEvent(var EvtMask : DWORD;
|
||||||
|
lpOverlapped : POverlapped) : Boolean;
|
||||||
|
begin
|
||||||
|
Result := WaitCommEvent(CidEx, EvtMask, lpOverlapped);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TApdWin32Dispatcher.StartDispatcher;
|
||||||
|
begin
|
||||||
|
EnterCriticalSection(DataSection);
|
||||||
|
try
|
||||||
|
{See if we're already active}
|
||||||
|
if DispActive then
|
||||||
|
raise Exception.Create('Dispatcher already started');
|
||||||
|
|
||||||
|
DispActive := True;
|
||||||
|
|
||||||
|
{Create the com events thread}
|
||||||
|
KillThreads := False;
|
||||||
|
|
||||||
|
ComThread := TComThread.Create(Self);
|
||||||
|
{Wait for it to start...}
|
||||||
|
WaitForSingleObject(GeneralEvent, ThreadStartWait);
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(ComStart));
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{Create the dispatcher thread}
|
||||||
|
fDispThread := TDispThread.Create(Self);
|
||||||
|
{Wait for it to start...}
|
||||||
|
WaitForSingleObject(GeneralEvent, ThreadStartWait);
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(DispStart));
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{Create the output thread}
|
||||||
|
OutThread := TOutThread.Create(Self);
|
||||||
|
{Wait for it to start...}
|
||||||
|
WaitForSingleObject(GeneralEvent, ThreadStartWait);
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(OutStart));
|
||||||
|
{$ENDIF}
|
||||||
|
finally
|
||||||
|
LeaveCriticalSection(DataSection);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TApdWin32Dispatcher.StopDispatcher;
|
||||||
|
var
|
||||||
|
ET : EventTimer;
|
||||||
|
begin
|
||||||
|
if not DispActive then
|
||||||
|
Exit;
|
||||||
|
|
||||||
|
{ Set the flag to kill the threads next time they wake, or after }
|
||||||
|
{ their current processing }
|
||||||
|
KillThreads := True;
|
||||||
|
|
||||||
|
if Assigned(OutThread) then begin
|
||||||
|
{Force the output thread to wake...}
|
||||||
|
SetEvent(OutFlushEvent);
|
||||||
|
|
||||||
|
{...and wait for it to die}
|
||||||
|
while (OutThread <> nil) do
|
||||||
|
SafeYield;
|
||||||
|
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(OutKill));
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
if Assigned(ComThread) then begin
|
||||||
|
{Force the comm thread to wake...}
|
||||||
|
SetCommMask(CidEx, 0);
|
||||||
|
SetEvent(ReadyEvent);
|
||||||
|
|
||||||
|
{... and wait for it to die}
|
||||||
|
ResetEvent(GeneralEvent);
|
||||||
|
while (ComThread <> nil) do
|
||||||
|
SafeYield;
|
||||||
|
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(ComKill));
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
{Now kill the timer}
|
||||||
|
KillTimer(0, TimerID);
|
||||||
|
|
||||||
|
if Assigned(DispThread) then begin
|
||||||
|
KillThreads := True;
|
||||||
|
{Wait for it to die}
|
||||||
|
NewTimer(ET, 36); { start a 2-second timer to prevent blocks }
|
||||||
|
while (DispThread <> nil) and not(TimerExpired(ET)) do
|
||||||
|
SafeYield;
|
||||||
|
if DispThread <> nil then begin
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
WriteLn('DispThread<>nil');
|
||||||
|
{$ENDIF}
|
||||||
|
{ thread didn't die, reset the event }
|
||||||
|
SetEvent(ComEvent);
|
||||||
|
{Wait for it to die yet again}
|
||||||
|
NewTimer(ET, 36); { start a 2-second timer to prevent blocks }
|
||||||
|
while (DispThread <> nil) and not(TimerExpired(ET)) do
|
||||||
|
SafeYield;
|
||||||
|
if DispThread <> nil then
|
||||||
|
{ disp thread is not responding, brutally terminate it }
|
||||||
|
DispThread.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
{$IFDEF DebugThreadConsole}
|
||||||
|
Writeln(ThreadStatus(DispKill));
|
||||||
|
{$ENDIF}
|
||||||
|
end;
|
||||||
|
|
||||||
|
if ComEvent <> INVALID_HANDLE_VALUE then begin
|
||||||
|
if CloseHandle(ComEvent) then
|
||||||
|
ComEvent := INVALID_HANDLE_VALUE;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if ReadyEvent <> INVALID_HANDLE_VALUE then begin
|
||||||
|
if CloseHandle(ReadyEvent) then
|
||||||
|
ReadyEvent := INVALID_HANDLE_VALUE;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if GeneralEvent <> INVALID_HANDLE_VALUE then begin
|
||||||
|
if CloseHandle(GeneralEvent) then
|
||||||
|
GeneralEvent := INVALID_HANDLE_VALUE;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if OutputEvent <> INVALID_HANDLE_VALUE then begin
|
||||||
|
if CloseHandle(OutputEvent) then
|
||||||
|
OutputEvent := INVALID_HANDLE_VALUE;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if SentEvent <> INVALID_HANDLE_VALUE then begin
|
||||||
|
if CloseHandle(SentEvent) then
|
||||||
|
SentEvent := INVALID_HANDLE_VALUE;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if OutFlushEvent <> INVALID_HANDLE_VALUE then begin
|
||||||
|
if CloseHandle(OutFlushEvent) then
|
||||||
|
OutFlushEvent := INVALID_HANDLE_VALUE;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdWin32Dispatcher.ProcessCommunications : Integer;
|
||||||
|
{-Communications are running in separate threads -- give them a chance}
|
||||||
|
begin
|
||||||
|
Sleep(0);
|
||||||
|
Result := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TApdTAPI32Dispatcher.Create(Owner : TObject; InCid : Integer);
|
||||||
|
begin
|
||||||
|
CidEx := InCid;
|
||||||
|
inherited Create(Owner);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TApdTAPI32Dispatcher.OpenCom(ComName: PChar; InQueue, OutQueue : Cardinal) : Integer;
|
||||||
|
begin
|
||||||
|
ReadOL.hEvent := CreateEvent(nil, True, False, nil);
|
||||||
|
WriteOL.hEvent := CreateEvent(nil, True, False, nil);
|
||||||
|
if (ReadOL.hEvent = 0) or (WriteOL.hEvent = 0) then begin
|
||||||
|
CloseCom;
|
||||||
|
Result := -1;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
if CidEx <> 0 then
|
||||||
|
Result := CidEx
|
||||||
|
else begin
|
||||||
|
Result := ecCommNotOpen;
|
||||||
|
SetLastError(-Result);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// Added by SWB
|
||||||
|
function TApdWin32Dispatcher.OutBufUsed: Cardinal;
|
||||||
|
begin
|
||||||
|
EnterCriticalSection(OutputSection);
|
||||||
|
try
|
||||||
|
Result := 0;
|
||||||
|
if OBufFull then
|
||||||
|
Result := OutQue
|
||||||
|
else if OBufHead > OBufTail then
|
||||||
|
{Buffer is not wrapped}
|
||||||
|
Result := OBufHead - OBufTail
|
||||||
|
else if OBufHead < OBufTail then
|
||||||
|
{Buffer is wrapped}
|
||||||
|
Result := OBufHead + (OutQue - OBufTail);
|
||||||
|
finally
|
||||||
|
LeaveCriticalSection(OutputSection);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
Binary file not shown.
+1278
File diff suppressed because it is too large
Load Diff
+283
@@ -0,0 +1,283 @@
|
|||||||
|
(***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is TurboPower Async Professional
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* TurboPower Software
|
||||||
|
*
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1991-2002
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Stephen W. Boyd - Created this module to provide input queueing for
|
||||||
|
* serial port dispatcher.
|
||||||
|
* August 2005
|
||||||
|
* Sebastian Zierer
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** *)
|
||||||
|
{Global defines potentially affecting this unit}
|
||||||
|
{$I AWDEFINE.INC}
|
||||||
|
|
||||||
|
unit LnsQueue;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses Windows, SysUtils, SyncObjs, Classes, OoMisc;
|
||||||
|
|
||||||
|
const
|
||||||
|
IO_BUFFER_SIZE = 256;
|
||||||
|
|
||||||
|
type
|
||||||
|
// An object to encapsulate an I/O buffer. There a 3 kinds of buffer. Data
|
||||||
|
// buffers trace (logging) buffers and status buffers.
|
||||||
|
TIOBuffer = class(TObject)
|
||||||
|
protected
|
||||||
|
FInUse : Boolean; // Set to true while processing events
|
||||||
|
// and triggers for this buffer.
|
||||||
|
FDataSize : Integer;
|
||||||
|
public
|
||||||
|
property InUse : Boolean read FInUse write FInUse;
|
||||||
|
property Size : Integer read FDataSize;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TDataBuffer = class(TIOBuffer)
|
||||||
|
private
|
||||||
|
FData : PAnsiChar;
|
||||||
|
FDataUsed : Integer;
|
||||||
|
FDataRead : Integer;
|
||||||
|
public
|
||||||
|
constructor Create(size : Integer);
|
||||||
|
destructor Destroy; override;
|
||||||
|
property Data : PAnsiChar read FData write FData;
|
||||||
|
property BytesUsed : Integer read FDataUsed write FDataUsed;
|
||||||
|
property BytesRead : Integer read FDataRead write FDataRead;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TStatusBuffer = class(TIOBuffer)
|
||||||
|
private
|
||||||
|
FStatus : DWORD;
|
||||||
|
public
|
||||||
|
property Status : DWORD read FStatus write FStatus;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TLogBuffer = class(TIOBuffer)
|
||||||
|
private
|
||||||
|
FType : TDispatchType;
|
||||||
|
FSubType : TDispatchSubType;
|
||||||
|
FTime : DWord;
|
||||||
|
FData : Cardinal;
|
||||||
|
FBuffer : PAnsiChar;
|
||||||
|
|
||||||
|
function GetMoreData : Cardinal;
|
||||||
|
public
|
||||||
|
constructor Create(typ : TDispatchType;
|
||||||
|
styp : TDispatchSubType;
|
||||||
|
tim : DWORD;
|
||||||
|
data : Cardinal;
|
||||||
|
bfr : PAnsiChar;
|
||||||
|
bfrLen : Integer);
|
||||||
|
destructor Destroy; override;
|
||||||
|
|
||||||
|
property drType : TDispatchType read FType;
|
||||||
|
property drSubType : TDispatchSubType read FSubType;
|
||||||
|
property drTime : DWORD read FTime;
|
||||||
|
property drData : Cardinal read FData;
|
||||||
|
property drMoreData : Cardinal read GetMoreData;
|
||||||
|
property drBuffer : PAnsiChar read FBuffer;
|
||||||
|
end;
|
||||||
|
// A queue to hold serial port I/O buffers for delivery to / from the
|
||||||
|
// dispatcher thread. Also used to queue items to the dispatcher log.
|
||||||
|
TIOQueue = class(TList)
|
||||||
|
private
|
||||||
|
FLock : TCriticalSection;
|
||||||
|
FEvent : TEvent;
|
||||||
|
FBytesQueued: Integer;
|
||||||
|
public
|
||||||
|
constructor Create;
|
||||||
|
destructor Destroy; override;
|
||||||
|
procedure Clear; override;
|
||||||
|
function Peek : TIOBuffer;
|
||||||
|
function Pop : TIOBuffer;
|
||||||
|
procedure Push(item : TIOBuffer);
|
||||||
|
function WaitForBuffer(tmo : Integer) : TWaitResult;
|
||||||
|
|
||||||
|
property BytesQueued : Integer read FBytesQueued;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{ TDataBuffer methods }
|
||||||
|
constructor TDataBuffer.Create(size : Integer);
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
FData := AllocMem(size);
|
||||||
|
if (not Assigned(FData)) then
|
||||||
|
raise Exception.Create('Insufficient memory to allocate I/O buffer.');
|
||||||
|
FDataSize := size;
|
||||||
|
FDataUsed := 0;
|
||||||
|
FDataRead := 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TDataBuffer.Destroy;
|
||||||
|
begin
|
||||||
|
if (Assigned(FData)) then
|
||||||
|
FreeMem(FData);
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
{ TLogBuffer methods }
|
||||||
|
constructor TLogBuffer.Create(typ : TDispatchType;
|
||||||
|
styp : TDispatchSubType;
|
||||||
|
tim : DWORD;
|
||||||
|
data : Cardinal;
|
||||||
|
bfr : PAnsiChar;
|
||||||
|
bfrLen : Integer);
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
FType := typ;
|
||||||
|
FSubType := styp;
|
||||||
|
FTime := tim;
|
||||||
|
FData := data;
|
||||||
|
FDataSize := bfrLen;
|
||||||
|
if (FDataSize > 0) then
|
||||||
|
begin
|
||||||
|
GetMem(FBuffer, FDataSize);
|
||||||
|
Move(bfr^, FBuffer^, FDataSize);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TLogBuffer.Destroy;
|
||||||
|
begin
|
||||||
|
if (Assigned(FBuffer)) then
|
||||||
|
FreeMem(FBuffer);
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TLogBuffer.GetMoreData : Cardinal;
|
||||||
|
begin
|
||||||
|
Result := Cardinal(FDataSize);
|
||||||
|
end;
|
||||||
|
{ TIOQueue methods }
|
||||||
|
constructor TIOQueue.Create;
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
FLock := TCriticalSection.Create;
|
||||||
|
FEvent := TEvent.Create(nil, False, False, '');
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TIOQueue.Destroy;
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
if (Assigned(FLock)) then
|
||||||
|
begin
|
||||||
|
FLock.Free;
|
||||||
|
// We must clear this pointer here so that Clear, which gets called
|
||||||
|
// by the inherited Destroy method, knows that the lock is no longer
|
||||||
|
// valid and won't try to acquire it.
|
||||||
|
FLock := nil;
|
||||||
|
end;
|
||||||
|
if (Assigned(FEvent)) then
|
||||||
|
FEvent.Free;
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
// Remove all non-InUse buffers from the queue. This used to purge the queue
|
||||||
|
// when the dispatcher is requested to flush the buffers.
|
||||||
|
procedure TIOQueue.Clear;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
if (Assigned(FLock)) then
|
||||||
|
FLock.Acquire;
|
||||||
|
try
|
||||||
|
i := 0;
|
||||||
|
while (i < Count) do
|
||||||
|
with TIOBuffer(Items[i]) do
|
||||||
|
begin
|
||||||
|
if (InUse) then
|
||||||
|
Inc(i)
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Free;
|
||||||
|
Delete(i);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
if (Assigned(FLock)) then
|
||||||
|
FLock.Release
|
||||||
|
else
|
||||||
|
// If FLock is nil then we are Destroying so we should call the
|
||||||
|
// inherited clear method to make sure that all memory allocated
|
||||||
|
// by TList gets released.
|
||||||
|
inherited Clear;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// Return a pointer to the first buffer without removing it from the queue.
|
||||||
|
// Sets the FInUse flag to prevent the I/O threads from appending to the
|
||||||
|
// buffer while the dispatcher thread is reading it. Do not return a buffer
|
||||||
|
// pointer if the first buffer is being written to by the I/O thread.
|
||||||
|
function TIOQueue.Peek : TIOBuffer;
|
||||||
|
begin
|
||||||
|
FLock.Acquire;
|
||||||
|
try
|
||||||
|
if (Count > 0) then
|
||||||
|
begin
|
||||||
|
Result := TIOBuffer(Items[0]);
|
||||||
|
if (Result.InUse) then
|
||||||
|
Result := nil
|
||||||
|
else
|
||||||
|
Result.InUse := True;
|
||||||
|
end else
|
||||||
|
Result := nil;
|
||||||
|
finally
|
||||||
|
FLock.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// Remove the first buffer from the queue and return a pointer to it.
|
||||||
|
function TIOQueue.Pop : TIOBuffer;
|
||||||
|
begin
|
||||||
|
FLock.Acquire;
|
||||||
|
try
|
||||||
|
if (Count > 0) then
|
||||||
|
begin
|
||||||
|
Result := TIOBuffer(Items[0]);
|
||||||
|
Dec(FBytesQueued, Result.Size);
|
||||||
|
Delete(0);
|
||||||
|
end else
|
||||||
|
Result := nil;
|
||||||
|
finally
|
||||||
|
FLock.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// Add a new buffer to the end of the queue
|
||||||
|
procedure TIOQueue.Push(item : TIOBuffer);
|
||||||
|
begin
|
||||||
|
FLock.Acquire;
|
||||||
|
try
|
||||||
|
Add(item);
|
||||||
|
Inc(FBytesQueued, item.Size);
|
||||||
|
FEvent.SetEvent;
|
||||||
|
finally
|
||||||
|
FLock.Release;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
// Wait for a buffer to appear on the queue. If there is a buffer available,
|
||||||
|
// we return immediately, otherwise we wait for FEvent to be set.
|
||||||
|
function TIOQueue.WaitForBuffer(tmo : Integer) : TWaitResult;
|
||||||
|
begin
|
||||||
|
if (Count > 0) then
|
||||||
|
Result := wrSignaled
|
||||||
|
else
|
||||||
|
Result := FEvent.WaitFor(tmo);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
+3894
File diff suppressed because it is too large
Load Diff
@@ -14,8 +14,8 @@
|
|||||||
-$N+
|
-$N+
|
||||||
-$O-
|
-$O-
|
||||||
-$P-
|
-$P-
|
||||||
-$Q-
|
-$Q+
|
||||||
-$R-
|
-$R+
|
||||||
-$S-
|
-$S-
|
||||||
-$T-
|
-$T-
|
||||||
-$U-
|
-$U-
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ M=0
|
|||||||
N=1
|
N=1
|
||||||
O=0
|
O=0
|
||||||
P=0
|
P=0
|
||||||
Q=0
|
Q=1
|
||||||
R=0
|
R=1
|
||||||
S=0
|
S=0
|
||||||
T=0
|
T=0
|
||||||
U=0
|
U=0
|
||||||
|
|||||||
+112
-112
@@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
Start Length Name Class
|
Start Length Name Class
|
||||||
0001:00000000 001DD698H .text CODE
|
0001:00000000 001F241CH .text CODE
|
||||||
0002:00000000 00002F10H .data DATA
|
0002:00000000 00002F18H .data DATA
|
||||||
0002:00002F10 0698FB35H .bss BSS
|
0002:00002F18 06A55901H .bss BSS
|
||||||
|
|
||||||
|
|
||||||
Detailed map of segments
|
Detailed map of segments
|
||||||
@@ -15,101 +15,101 @@ Detailed map of segments
|
|||||||
0001:0000710C 00000338 C=CODE S=.text G=(none) M=SysConst ACBP=A9
|
0001:0000710C 00000338 C=CODE S=.text G=(none) M=SysConst ACBP=A9
|
||||||
0001:00007444 00006F90 C=CODE S=.text G=(none) M=SysUtils ACBP=A9
|
0001:00007444 00006F90 C=CODE S=.text G=(none) M=SysUtils ACBP=A9
|
||||||
0001:0000E3D4 00000823 C=CODE S=.text G=(none) M=VarUtils ACBP=A9
|
0001:0000E3D4 00000823 C=CODE S=.text G=(none) M=VarUtils ACBP=A9
|
||||||
0001:0000EBF8 0000873A C=CODE S=.text G=(none) M=Variants ACBP=A9
|
0001:0000EBF8 0000878A C=CODE S=.text G=(none) M=Variants ACBP=A9
|
||||||
0001:00017334 000001A0 C=CODE S=.text G=(none) M=RTLConsts ACBP=A9
|
0001:00017384 000001A0 C=CODE S=.text G=(none) M=RTLConsts ACBP=A9
|
||||||
0001:000174D4 0000083C C=CODE S=.text G=(none) M=TypInfo ACBP=A9
|
0001:00017524 0000083C C=CODE S=.text G=(none) M=TypInfo ACBP=A9
|
||||||
0001:00017D10 00000368 C=CODE S=.text G=(none) M=ActiveX ACBP=A9
|
0001:00017D60 00000368 C=CODE S=.text G=(none) M=ActiveX ACBP=A9
|
||||||
0001:00018078 0000A7FE C=CODE S=.text G=(none) M=Classes ACBP=A9
|
0001:000180C8 0000A7FE C=CODE S=.text G=(none) M=Classes ACBP=A9
|
||||||
0001:00022878 00000378 C=CODE S=.text G=(none) M=Consts ACBP=A9
|
0001:000228C8 00000378 C=CODE S=.text G=(none) M=Consts ACBP=A9
|
||||||
0001:00022BF0 00009DC7 C=CODE S=.text G=(none) M=Graphics ACBP=A9
|
0001:00022C40 00009DC7 C=CODE S=.text G=(none) M=Graphics ACBP=A9
|
||||||
0001:0002C9B8 00000124 C=CODE S=.text G=(none) M=Math ACBP=A9
|
0001:0002CA08 00000124 C=CODE S=.text G=(none) M=Math ACBP=A9
|
||||||
0001:0002CADC 000002B8 C=CODE S=.text G=(none) M=Contnrs ACBP=A9
|
0001:0002CB2C 000002B8 C=CODE S=.text G=(none) M=Contnrs ACBP=A9
|
||||||
0001:0002CD94 00000198 C=CODE S=.text G=(none) M=CommCtrl ACBP=A9
|
0001:0002CDE4 00000198 C=CODE S=.text G=(none) M=CommCtrl ACBP=A9
|
||||||
0001:0002CF2C 00000787 C=CODE S=.text G=(none) M=MultiMon ACBP=A9
|
0001:0002CF7C 00000787 C=CODE S=.text G=(none) M=MultiMon ACBP=A9
|
||||||
0001:0002D6B4 00000038 C=CODE S=.text G=(none) M=Imm ACBP=A9
|
0001:0002D704 00000038 C=CODE S=.text G=(none) M=Imm ACBP=A9
|
||||||
0001:0002D6EC 00000FF8 C=CODE S=.text G=(none) M=HelpIntfs ACBP=A9
|
0001:0002D73C 00000FF8 C=CODE S=.text G=(none) M=HelpIntfs ACBP=A9
|
||||||
0001:0002E6E4 00000058 C=CODE S=.text G=(none) M=WinSpool ACBP=A9
|
0001:0002E734 00000058 C=CODE S=.text G=(none) M=WinSpool ACBP=A9
|
||||||
0001:0002E73C 000010C8 C=CODE S=.text G=(none) M=Printers ACBP=A9
|
0001:0002E78C 000010C8 C=CODE S=.text G=(none) M=Printers ACBP=A9
|
||||||
0001:0002F804 0000031F C=CODE S=.text G=(none) M=FlatSB ACBP=A9
|
0001:0002F854 0000031F C=CODE S=.text G=(none) M=FlatSB ACBP=A9
|
||||||
0001:0002FB24 000003F0 C=CODE S=.text G=(none) M=SyncObjs ACBP=A9
|
0001:0002FB74 000003F0 C=CODE S=.text G=(none) M=SyncObjs ACBP=A9
|
||||||
0001:0002FF14 000009BB C=CODE S=.text G=(none) M=UxTheme ACBP=A9
|
0001:0002FF64 000009BB C=CODE S=.text G=(none) M=UxTheme ACBP=A9
|
||||||
0001:000308D0 00000038 C=CODE S=.text G=(none) M=RichEdit ACBP=A9
|
0001:00030920 00000038 C=CODE S=.text G=(none) M=RichEdit ACBP=A9
|
||||||
0001:00030908 00000038 C=CODE S=.text G=(none) M=ToolWin ACBP=A9
|
0001:00030958 00000038 C=CODE S=.text G=(none) M=ToolWin ACBP=A9
|
||||||
0001:00030940 00000040 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9
|
0001:00030990 00000040 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9
|
||||||
0001:00030980 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9
|
0001:000309D0 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9
|
||||||
0001:000309B8 00000058 C=CODE S=.text G=(none) M=WinInet ACBP=A9
|
0001:00030A08 00000058 C=CODE S=.text G=(none) M=WinInet ACBP=A9
|
||||||
0001:00030A10 00000038 C=CODE S=.text G=(none) M=UrlMon ACBP=A9
|
0001:00030A60 00000038 C=CODE S=.text G=(none) M=UrlMon ACBP=A9
|
||||||
0001:00030A48 000000EC C=CODE S=.text G=(none) M=ShlObj ACBP=A9
|
0001:00030A98 000000EC C=CODE S=.text G=(none) M=ShlObj ACBP=A9
|
||||||
0001:00030B34 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9
|
0001:00030B84 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9
|
||||||
0001:00030B94 00000038 C=CODE S=.text G=(none) M=Dlgs ACBP=A9
|
0001:00030BE4 00000038 C=CODE S=.text G=(none) M=Dlgs ACBP=A9
|
||||||
0001:00030BCC 000036D1 C=CODE S=.text G=(none) M=Dialogs ACBP=A9
|
0001:00030C1C 000036D1 C=CODE S=.text G=(none) M=Dialogs ACBP=A9
|
||||||
0001:000342A0 0000602A C=CODE S=.text G=(none) M=ExtCtrls ACBP=A9
|
0001:000342F0 0000602A C=CODE S=.text G=(none) M=ExtCtrls ACBP=A9
|
||||||
0001:0003A2CC 00000090 C=CODE S=.text G=(none) M=ComStrs ACBP=A9
|
0001:0003A31C 00000090 C=CODE S=.text G=(none) M=ComStrs ACBP=A9
|
||||||
0001:0003A35C 000007A0 C=CODE S=.text G=(none) M=Clipbrd ACBP=A9
|
0001:0003A3AC 000007A0 C=CODE S=.text G=(none) M=Clipbrd ACBP=A9
|
||||||
0001:0003AAFC 00000128 C=CODE S=.text G=(none) M=StrUtils ACBP=A9
|
0001:0003AB4C 00000128 C=CODE S=.text G=(none) M=StrUtils ACBP=A9
|
||||||
0001:0003AC24 00003821 C=CODE S=.text G=(none) M=Buttons ACBP=A9
|
0001:0003AC74 00003821 C=CODE S=.text G=(none) M=Buttons ACBP=A9
|
||||||
0001:0003E448 00000038 C=CODE S=.text G=(none) M=ExtDlgs ACBP=A9
|
0001:0003E498 00000038 C=CODE S=.text G=(none) M=ExtDlgs ACBP=A9
|
||||||
0001:0003E480 00000068 C=CODE S=.text G=(none) M=IniFiles ACBP=A9
|
0001:0003E4D0 00000068 C=CODE S=.text G=(none) M=IniFiles ACBP=A9
|
||||||
0001:0003E4E8 00000068 C=CODE S=.text G=(none) M=Registry ACBP=A9
|
0001:0003E538 00000068 C=CODE S=.text G=(none) M=Registry ACBP=A9
|
||||||
0001:0003E550 0000006C C=CODE S=.text G=(none) M=Mapi ACBP=A9
|
0001:0003E5A0 0000006C C=CODE S=.text G=(none) M=Mapi ACBP=A9
|
||||||
0001:0003E5BC 00000058 C=CODE S=.text G=(none) M=ExtActns ACBP=A9
|
0001:0003E60C 00000058 C=CODE S=.text G=(none) M=ExtActns ACBP=A9
|
||||||
0001:0003E614 00000038 C=CODE S=.text G=(none) M=ListActns ACBP=A9
|
0001:0003E664 00000038 C=CODE S=.text G=(none) M=ListActns ACBP=A9
|
||||||
0001:0003E64C 00009948 C=CODE S=.text G=(none) M=ComCtrls ACBP=A9
|
0001:0003E69C 00009948 C=CODE S=.text G=(none) M=ComCtrls ACBP=A9
|
||||||
0001:00047F94 00000EA0 C=CODE S=.text G=(none) M=Themes ACBP=A9
|
0001:00047FE4 00000EA0 C=CODE S=.text G=(none) M=Themes ACBP=A9
|
||||||
0001:00048E34 0000C698 C=CODE S=.text G=(none) M=StdCtrls ACBP=A9
|
0001:00048E84 0000C698 C=CODE S=.text G=(none) M=StdCtrls ACBP=A9
|
||||||
0001:000554CC 00000168 C=CODE S=.text G=(none) M=StdActns ACBP=A9
|
0001:0005551C 00000168 C=CODE S=.text G=(none) M=StdActns ACBP=A9
|
||||||
0001:00055634 00000D1F C=CODE S=.text G=(none) M=WinHelpViewer ACBP=A9
|
0001:00055684 00000D1F C=CODE S=.text G=(none) M=WinHelpViewer ACBP=A9
|
||||||
0001:00056354 00011403 C=CODE S=.text G=(none) M=Controls ACBP=A9
|
0001:000563A4 00011403 C=CODE S=.text G=(none) M=Controls ACBP=A9
|
||||||
0001:00067758 00001292 C=CODE S=.text G=(none) M=ActnList ACBP=A9
|
0001:000677A8 00001292 C=CODE S=.text G=(none) M=ActnList ACBP=A9
|
||||||
0001:000689EC 00001C04 C=CODE S=.text G=(none) M=ImgList ACBP=A9
|
0001:00068A3C 00001C04 C=CODE S=.text G=(none) M=ImgList ACBP=A9
|
||||||
0001:0006A5F0 000066E1 C=CODE S=.text G=(none) M=Menus ACBP=A9
|
0001:0006A640 000066E1 C=CODE S=.text G=(none) M=Menus ACBP=A9
|
||||||
0001:00070CD4 0000CF8C C=CODE S=.text G=(none) M=Forms ACBP=A9
|
0001:00070D24 0000CF8C C=CODE S=.text G=(none) M=Forms ACBP=A9
|
||||||
0001:0007DC60 00000050 C=CODE S=.text G=(none) M=JConsts ACBP=A9
|
0001:0007DCB0 00000050 C=CODE S=.text G=(none) M=JConsts ACBP=A9
|
||||||
0001:0007DCB0 000133EC C=CODE S=.text G=(none) M=jpeg ACBP=A9
|
0001:0007DD00 000133EC C=CODE S=.text G=(none) M=jpeg ACBP=A9
|
||||||
0001:0009109C 00000060 C=CODE S=.text G=(none) M=ComConst ACBP=A9
|
0001:000910EC 00000060 C=CODE S=.text G=(none) M=ComConst ACBP=A9
|
||||||
0001:000910FC 00001259 C=CODE S=.text G=(none) M=ComObj ACBP=A9
|
0001:0009114C 00001259 C=CODE S=.text G=(none) M=ComObj ACBP=A9
|
||||||
0001:00092358 00000038 C=CODE S=.text G=(none) M=StdVCL ACBP=A9
|
0001:000923A8 00000038 C=CODE S=.text G=(none) M=StdVCL ACBP=A9
|
||||||
0001:00092390 00001793 C=CODE S=.text G=(none) M=AxCtrls ACBP=A9
|
0001:000923E0 00001793 C=CODE S=.text G=(none) M=AxCtrls ACBP=A9
|
||||||
0001:00093B24 00000060 C=CODE S=.text G=(none) M=OleConst ACBP=A9
|
0001:00093B74 00000060 C=CODE S=.text G=(none) M=OleConst ACBP=A9
|
||||||
0001:00093B84 00003519 C=CODE S=.text G=(none) M=OleCtrls ACBP=A9
|
0001:00093BD4 00003519 C=CODE S=.text G=(none) M=OleCtrls ACBP=A9
|
||||||
0001:000970A0 00000314 C=CODE S=.text G=(none) M=TlHelp32 ACBP=A9
|
0001:000970F0 00000314 C=CODE S=.text G=(none) M=TlHelp32 ACBP=A9
|
||||||
0001:000973B4 00000128 C=CODE S=.text G=(none) M=WinSock ACBP=A9
|
0001:00097404 00000128 C=CODE S=.text G=(none) M=WinSock ACBP=A9
|
||||||
0001:000974DC 00003A78 C=CODE S=.text G=(none) M=ScktComp ACBP=A9
|
0001:0009752C 00003A78 C=CODE S=.text G=(none) M=ScktComp ACBP=A9
|
||||||
0001:0009AF54 000008EA C=CODE S=.text G=(none) M=OleServer ACBP=A9
|
0001:0009AFA4 00000040 C=CODE S=.text G=(none) M=MMSystem ACBP=A9
|
||||||
0001:0009B840 000005A0 C=CODE S=.text G=(none) M=MSCommLib_TLB ACBP=A9
|
0001:0009AFE4 00000038 C=CODE S=.text G=(none) M=Nb30 ACBP=A9
|
||||||
0001:0009BDE0 00000040 C=CODE S=.text G=(none) M=MMSystem ACBP=A9
|
0001:0009B01C 00000038 C=CODE S=.text G=(none) M=DateUtils ACBP=A9
|
||||||
0001:0009BE20 00000038 C=CODE S=.text G=(none) M=Nb30 ACBP=A9
|
0001:0009B054 000008EA C=CODE S=.text G=(none) M=OleServer ACBP=A9
|
||||||
0001:0009BE58 00000038 C=CODE S=.text G=(none) M=DateUtils ACBP=A9
|
0001:0009B940 000005A0 C=CODE S=.text G=(none) M=MSCommLib_TLB ACBP=A9
|
||||||
0001:0009BE90 00000A18 C=CODE S=.text G=(none) M=MaskUtils ACBP=A9
|
0001:0009BEE0 00000A18 C=CODE S=.text G=(none) M=MaskUtils ACBP=A9
|
||||||
0001:0009C8A8 00002108 C=CODE S=.text G=(none) M=Mask ACBP=A9
|
0001:0009C8F8 00002108 C=CODE S=.text G=(none) M=Mask ACBP=A9
|
||||||
0001:0009E9B0 000092A4 C=CODE S=.text G=(none) M=Grids ACBP=A9
|
0001:0009EA00 000092A4 C=CODE S=.text G=(none) M=Grids ACBP=A9
|
||||||
0001:000A7C54 00001BFC C=CODE S=.text G=(none) M=Spin ACBP=A9
|
0001:000A7CA4 00001BFC C=CODE S=.text G=(none) M=Spin ACBP=A9
|
||||||
0001:000A9850 00003762 C=CODE S=.text G=(none) M=UnitPilote ACBP=A9
|
0001:000A98A0 00003762 C=CODE S=.text G=(none) M=UnitPilote ACBP=A9
|
||||||
0001:000ACFB4 0000057C C=CODE S=.text G=(none) M=Importation ACBP=A9
|
0001:000AD004 0000057C C=CODE S=.text G=(none) M=Importation ACBP=A9
|
||||||
0001:000AD530 000196A8 C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9
|
0001:000AD580 000196A8 C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9
|
||||||
0001:000C6BD8 00002E3F C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9
|
0001:000C6C28 00002E3F C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9
|
||||||
0001:000C9A18 00000D84 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9
|
0001:000C9A68 00000D84 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9
|
||||||
0001:000CA79C 000011F4 C=CODE S=.text G=(none) M=UnitFicheHoraire ACBP=A9
|
0001:000CA7EC 000011F4 C=CODE S=.text G=(none) M=UnitFicheHoraire ACBP=A9
|
||||||
0001:000CB990 00000038 C=CODE S=.text G=(none) M=ShellConsts ACBP=A9
|
0001:000CB9E0 00000038 C=CODE S=.text G=(none) M=ShellConsts ACBP=A9
|
||||||
0001:000CB9C8 000004E0 C=CODE S=.text G=(none) M=ShellCtrls ACBP=A9
|
0001:000CBA18 000004E0 C=CODE S=.text G=(none) M=ShellCtrls ACBP=A9
|
||||||
0001:000CBEA8 00001A0C C=CODE S=.text G=(none) M=UnitRoute ACBP=A9
|
0001:000CBEF8 00001A20 C=CODE S=.text G=(none) M=UnitRoute ACBP=A9
|
||||||
0001:000CD8B4 00002140 C=CODE S=.text G=(none) M=UnitRouteTrains ACBP=A9
|
0001:000CD918 00002A44 C=CODE S=.text G=(none) M=UnitRouteTrains ACBP=A9
|
||||||
0001:000CF9F4 00000298 C=CODE S=.text G=(none) M=UnitInfo ACBP=A9
|
0001:000D035C 00000298 C=CODE S=.text G=(none) M=UnitInfo ACBP=A9
|
||||||
0001:000CFC8C 00002DD4 C=CODE S=.text G=(none) M=selection_train ACBP=A9
|
0001:000D05F4 00003300 C=CODE S=.text G=(none) M=selection_train ACBP=A9
|
||||||
0001:000D2A60 000062A8 C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9
|
0001:000D38F4 000067FC C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9
|
||||||
0001:000D8D08 00001908 C=CODE S=.text G=(none) M=UnitClock ACBP=A9
|
0001:000DA0F0 00001908 C=CODE S=.text G=(none) M=UnitClock ACBP=A9
|
||||||
0001:000DA610 0005820C C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
0001:000DB9F8 000580FC C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
||||||
0001:0013281C 000039DC C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
0001:00133AF4 000039DC C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
||||||
0001:001361F8 00002BF8 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9
|
0001:001374D0 00002BF8 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9
|
||||||
0001:00138DF0 000088F8 C=CODE S=.text G=(none) M=UnitModifAction ACBP=A9
|
0001:0013A0C8 0000899C C=CODE S=.text G=(none) M=UnitModifAction ACBP=A9
|
||||||
0001:001416E8 00000F64 C=CODE S=.text G=(none) M=UnitHorloge ACBP=A9
|
0001:00142A64 00000F64 C=CODE S=.text G=(none) M=UnitHorloge ACBP=A9
|
||||||
0001:0014264C 000025FB C=CODE S=.text G=(none) M=verif_version ACBP=A9
|
0001:001439C8 000025FB C=CODE S=.text G=(none) M=verif_version ACBP=A9
|
||||||
0001:00144C48 00001190 C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9
|
0001:00145FC4 00001190 C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9
|
||||||
0001:00145DD8 00000F6C C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
0001:00147154 00000F10 C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
||||||
0001:00146D44 00046E24 C=CODE S=.text G=(none) M=Unitprinc ACBP=A9
|
0001:00148064 00059854 C=CODE S=.text G=(none) M=Unitprinc ACBP=A9
|
||||||
0001:0018DB68 0004C5F4 C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
0001:001A18B8 0004D544 C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
||||||
0001:001DA15C 00002F78 C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
0001:001EEDFC 0000305C C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
||||||
0001:001DD0D4 000005C4 C=CODE S=.text G=(none) M=Signaux_complexes_GL ACBP=A9
|
0001:001F1E58 000005C4 C=CODE S=.text G=(none) M=Signaux_complexes_GL ACBP=A9
|
||||||
0002:00000000 000000CC C=DATA S=.data G=DGROUP M=System ACBP=A9
|
0002:00000000 000000CC C=DATA S=.data G=DGROUP M=System ACBP=A9
|
||||||
0002:000000CC 00000020 C=DATA S=.data G=DGROUP M=SysInit ACBP=A9
|
0002:000000CC 00000020 C=DATA S=.data G=DGROUP M=SysInit ACBP=A9
|
||||||
0002:000000EC 00000254 C=DATA S=.data G=DGROUP M=SysUtils ACBP=A9
|
0002:000000EC 00000254 C=DATA S=.data G=DGROUP M=SysUtils ACBP=A9
|
||||||
@@ -211,11 +211,11 @@ Detailed map of segments
|
|||||||
0002:00003C68 00000048 C=BSS S=.bss G=DGROUP M=TlHelp32 ACBP=A9
|
0002:00003C68 00000048 C=BSS S=.bss G=DGROUP M=TlHelp32 ACBP=A9
|
||||||
0002:00003CB0 00000004 C=BSS S=.bss G=DGROUP M=WinSock ACBP=A9
|
0002:00003CB0 00000004 C=BSS S=.bss G=DGROUP M=WinSock ACBP=A9
|
||||||
0002:00003CB4 00000194 C=BSS S=.bss G=DGROUP M=ScktComp ACBP=A9
|
0002:00003CB4 00000194 C=BSS S=.bss G=DGROUP M=ScktComp ACBP=A9
|
||||||
0002:00003E48 00000004 C=BSS S=.bss G=DGROUP M=OleServer ACBP=A9
|
0002:00003E48 00000004 C=BSS S=.bss G=DGROUP M=MMSystem ACBP=A9
|
||||||
0002:00003E4C 00000004 C=BSS S=.bss G=DGROUP M=MSCommLib_TLB ACBP=A9
|
0002:00003E4C 00000004 C=BSS S=.bss G=DGROUP M=Nb30 ACBP=A9
|
||||||
0002:00003E50 00000004 C=BSS S=.bss G=DGROUP M=MMSystem ACBP=A9
|
0002:00003E50 00000004 C=BSS S=.bss G=DGROUP M=DateUtils ACBP=A9
|
||||||
0002:00003E54 00000004 C=BSS S=.bss G=DGROUP M=Nb30 ACBP=A9
|
0002:00003E54 00000004 C=BSS S=.bss G=DGROUP M=OleServer ACBP=A9
|
||||||
0002:00003E58 00000004 C=BSS S=.bss G=DGROUP M=DateUtils ACBP=A9
|
0002:00003E58 00000004 C=BSS S=.bss G=DGROUP M=MSCommLib_TLB ACBP=A9
|
||||||
0002:00003E5C 00000004 C=BSS S=.bss G=DGROUP M=MaskUtils ACBP=A9
|
0002:00003E5C 00000004 C=BSS S=.bss G=DGROUP M=MaskUtils ACBP=A9
|
||||||
0002:00003E60 00000004 C=BSS S=.bss G=DGROUP M=Mask ACBP=A9
|
0002:00003E60 00000004 C=BSS S=.bss G=DGROUP M=Mask ACBP=A9
|
||||||
0002:00003E64 00000004 C=BSS S=.bss G=DGROUP M=Grids ACBP=A9
|
0002:00003E64 00000004 C=BSS S=.bss G=DGROUP M=Grids ACBP=A9
|
||||||
@@ -237,14 +237,14 @@ Detailed map of segments
|
|||||||
0002:0001DED0 004CD3C0 C=BSS S=.bss G=DGROUP M=UnitTCO ACBP=A9
|
0002:0001DED0 004CD3C0 C=BSS S=.bss G=DGROUP M=UnitTCO ACBP=A9
|
||||||
0002:004EB290 00000010 C=BSS S=.bss G=DGROUP M=UnitSR ACBP=A9
|
0002:004EB290 00000010 C=BSS S=.bss G=DGROUP M=UnitSR ACBP=A9
|
||||||
0002:004EB2A0 00000014 C=BSS S=.bss G=DGROUP M=UnitCDF ACBP=A9
|
0002:004EB2A0 00000014 C=BSS S=.bss G=DGROUP M=UnitCDF ACBP=A9
|
||||||
0002:004EB2B4 0000001C C=BSS S=.bss G=DGROUP M=UnitModifAction ACBP=A9
|
0002:004EB2B4 00000018 C=BSS S=.bss G=DGROUP M=UnitModifAction ACBP=A9
|
||||||
0002:004EB2D0 00000038 C=BSS S=.bss G=DGROUP M=UnitHorloge ACBP=A9
|
0002:004EB2CC 00000038 C=BSS S=.bss G=DGROUP M=UnitHorloge ACBP=A9
|
||||||
0002:004EB308 000001EC C=BSS S=.bss G=DGROUP M=verif_version ACBP=A9
|
0002:004EB304 000001EC C=BSS S=.bss G=DGROUP M=verif_version ACBP=A9
|
||||||
0002:004EB4F4 00000004 C=BSS S=.bss G=DGROUP M=UnitPareFeu ACBP=A9
|
0002:004EB4F0 00000004 C=BSS S=.bss G=DGROUP M=UnitPareFeu ACBP=A9
|
||||||
0002:004EB4F8 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
0002:004EB4F4 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
||||||
0002:004EB504 064A703C C=BSS S=.bss G=DGROUP M=Unitprinc ACBP=A9
|
0002:004EB500 0656CE08 C=BSS S=.bss G=DGROUP M=Unitprinc ACBP=A9
|
||||||
0002:06992540 000005C8 C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
0002:06A58308 000005CC C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
||||||
0002:06992B08 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
0002:06A588D4 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
||||||
|
|
||||||
Bound resource files
|
Bound resource files
|
||||||
|
|
||||||
@@ -278,4 +278,4 @@ Signaux_complexes_GL.res
|
|||||||
Signaux_complexes_GL.drf
|
Signaux_complexes_GL.drf
|
||||||
|
|
||||||
|
|
||||||
Program entry point at 0001:001DD43C
|
Program entry point at 0001:001F21C0
|
||||||
|
|||||||
+5227
-5227
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -15,8 +15,8 @@ object FormClock: TFormClock
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnResize = FormResize
|
OnResize = FormResize
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
234
|
242
|
||||||
212)
|
219)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object BitBtnMarHor: TBitBtn
|
object BitBtnMarHor: TBitBtn
|
||||||
|
|||||||
+1
-1
@@ -474,7 +474,7 @@ end;
|
|||||||
procedure TFormClock.TjsVerClick(Sender: TObject);
|
procedure TFormClock.TjsVerClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NoMove or SWP_NoSize);
|
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NoMove or SWP_NoSize);
|
||||||
// le checked ne fonctionne pas sous D7, fonctionne sous D11.
|
// le checked ne fonctionne pas sous D7, fonctionne sous D12.
|
||||||
TjsDev.Checked:=true;
|
TjsDev.Checked:=true;
|
||||||
Dverrouiller1.Checked:=false;
|
Dverrouiller1.Checked:=false;
|
||||||
Verrouille:=true;
|
Verrouille:=true;
|
||||||
|
|||||||
+53
-25
@@ -1,6 +1,6 @@
|
|||||||
object FormConfig: TFormConfig
|
object FormConfig: TFormConfig
|
||||||
Left = 281
|
Left = 202
|
||||||
Top = 137
|
Top = 143
|
||||||
Hint = 'Modifie la configuration selon les s'#233'lections choisies'
|
Hint = 'Modifie la configuration selon les s'#233'lections choisies'
|
||||||
BorderStyle = bsDialog
|
BorderStyle = bsDialog
|
||||||
Caption = 'Configuration g'#233'n'#233'rale'
|
Caption = 'Configuration g'#233'n'#233'rale'
|
||||||
@@ -639,12 +639,12 @@ object FormConfig: TFormConfig
|
|||||||
Visible = False
|
Visible = False
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
object LabelD11: TLabel
|
object LabelD12: TLabel
|
||||||
Left = 752
|
Left = 752
|
||||||
Top = 64
|
Top = 64
|
||||||
Width = 40
|
Width = 40
|
||||||
Height = 31
|
Height = 31
|
||||||
Caption = 'D11'
|
Caption = 'D12'
|
||||||
Font.Charset = ANSI_CHARSET
|
Font.Charset = ANSI_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
Font.Height = -27
|
Font.Height = -27
|
||||||
@@ -682,7 +682,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 505
|
Height = 505
|
||||||
ActivePage = TabSheetSig
|
ActivePage = TabAvance
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -1218,6 +1218,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 48
|
Top = 48
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
|
Hint = 'Temporisation d'#39'envoi des octets'
|
||||||
TabStop = False
|
TabStop = False
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
@@ -2874,6 +2875,7 @@ object FormConfig: TFormConfig
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
PopupMenu = PopupMenuListes
|
PopupMenu = PopupMenuListes
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnDblClick = ListBoxActionsDblClick
|
||||||
OnKeyDown = ListBoxActionsKeyDown
|
OnKeyDown = ListBoxActionsKeyDown
|
||||||
OnMouseDown = ListBoxActionsMouseDown
|
OnMouseDown = ListBoxActionsMouseDown
|
||||||
end
|
end
|
||||||
@@ -2882,7 +2884,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 40
|
Top = 40
|
||||||
Width = 249
|
Width = 249
|
||||||
Height = 193
|
Height = 193
|
||||||
Hint = 'Double clic pour valider/d'#233'valider une action'
|
Hint = 'Double clic pour valider/d'#233'valider une op'#233'ration'
|
||||||
Style = lbOwnerDrawVariable
|
Style = lbOwnerDrawVariable
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@@ -3597,10 +3599,10 @@ object FormConfig: TFormConfig
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object GroupBox24: TGroupBox
|
object GroupBox24: TGroupBox
|
||||||
Left = 312
|
Left = 296
|
||||||
Top = 72
|
Top = 16
|
||||||
Width = 297
|
Width = 321
|
||||||
Height = 377
|
Height = 441
|
||||||
Caption = 'Trains'
|
Caption = 'Trains'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Label51: TLabel
|
object Label51: TLabel
|
||||||
@@ -3639,21 +3641,21 @@ object FormConfig: TFormConfig
|
|||||||
Caption = 'Vitesse nominale'
|
Caption = 'Vitesse nominale'
|
||||||
end
|
end
|
||||||
object Label16: TLabel
|
object Label16: TLabel
|
||||||
Left = 24
|
Left = 16
|
||||||
Top = 280
|
Top = 352
|
||||||
Width = 27
|
Width = 27
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Ic'#244'ne'
|
Caption = 'Ic'#244'ne'
|
||||||
end
|
end
|
||||||
object ImageTrain: TImage
|
object ImageTrain: TImage
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 312
|
Top = 376
|
||||||
Width = 257
|
Width = 257
|
||||||
Height = 49
|
Height = 49
|
||||||
end
|
end
|
||||||
object SpeedButtonOuvre: TSpeedButton
|
object SpeedButtonOuvre: TSpeedButton
|
||||||
Left = 128
|
Left = 120
|
||||||
Top = 272
|
Top = 344
|
||||||
Width = 23
|
Width = 23
|
||||||
Height = 22
|
Height = 22
|
||||||
Hint = 'Charger ic'#244'ne'
|
Hint = 'Charger ic'#244'ne'
|
||||||
@@ -3662,10 +3664,21 @@ object FormConfig: TFormConfig
|
|||||||
ShowHint = True
|
ShowHint = True
|
||||||
OnClick = SpeedButtonOuvreClick
|
OnClick = SpeedButtonOuvreClick
|
||||||
end
|
end
|
||||||
|
object Label45: TLabel
|
||||||
|
Left = 26
|
||||||
|
Top = 232
|
||||||
|
Width = 111
|
||||||
|
Height = 39
|
||||||
|
Alignment = taRightJustify
|
||||||
|
Caption =
|
||||||
|
'Arr'#234't temporis'#233' du train sur d'#233'tecteurs : (mode autonome seuleme' +
|
||||||
|
'nt)'
|
||||||
|
WordWrap = True
|
||||||
|
end
|
||||||
object EditNomTrain: TEdit
|
object EditNomTrain: TEdit
|
||||||
Left = 136
|
Left = 136
|
||||||
Top = 24
|
Top = 24
|
||||||
Width = 145
|
Width = 169
|
||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Nom du train'
|
Hint = 'Nom du train'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
@@ -3674,7 +3687,7 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = EditNomTrainChange
|
OnChange = EditNomTrainChange
|
||||||
end
|
end
|
||||||
object EditAdresseTrain: TEdit
|
object EditAdresseTrain: TEdit
|
||||||
Left = 240
|
Left = 264
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -3685,7 +3698,7 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = EditAdresseTrainChange
|
OnChange = EditAdresseTrainChange
|
||||||
end
|
end
|
||||||
object EditVitesseMaxi: TEdit
|
object EditVitesseMaxi: TEdit
|
||||||
Left = 240
|
Left = 264
|
||||||
Top = 120
|
Top = 120
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -3696,7 +3709,7 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = EditVitesseMaxiChange
|
OnChange = EditVitesseMaxiChange
|
||||||
end
|
end
|
||||||
object EditVitRalenti: TEdit
|
object EditVitRalenti: TEdit
|
||||||
Left = 240
|
Left = 264
|
||||||
Top = 72
|
Top = 72
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -3707,7 +3720,7 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = EditVitRalentiChange
|
OnChange = EditVitRalentiChange
|
||||||
end
|
end
|
||||||
object EditVitNom: TEdit
|
object EditVitNom: TEdit
|
||||||
Left = 240
|
Left = 264
|
||||||
Top = 96
|
Top = 96
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -3718,15 +3731,15 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = EditVitNomChange
|
OnChange = EditVitNomChange
|
||||||
end
|
end
|
||||||
object EditIcone: TEdit
|
object EditIcone: TEdit
|
||||||
Left = 160
|
Left = 168
|
||||||
Top = 272
|
Top = 344
|
||||||
Width = 121
|
Width = 121
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
OnChange = EditIconeChange
|
OnChange = EditIconeChange
|
||||||
end
|
end
|
||||||
object LabeledEditTempoD: TLabeledEdit
|
object LabeledEditTempoD: TLabeledEdit
|
||||||
Left = 240
|
Left = 264
|
||||||
Top = 144
|
Top = 144
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -3736,7 +3749,7 @@ object FormConfig: TFormConfig
|
|||||||
EditLabel.Layout = tlBottom
|
EditLabel.Layout = tlBottom
|
||||||
EditLabel.WordWrap = True
|
EditLabel.WordWrap = True
|
||||||
LabelPosition = lpLeft
|
LabelPosition = lpLeft
|
||||||
LabelSpacing = 78
|
LabelSpacing = 100
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnChange = LabeledEditTempoDChange
|
OnChange = LabeledEditTempoDChange
|
||||||
end
|
end
|
||||||
@@ -3752,6 +3765,21 @@ object FormConfig: TFormConfig
|
|||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
OnClick = CheckBoxSensClick
|
OnClick = CheckBoxSensClick
|
||||||
end
|
end
|
||||||
|
object StringGridArr: TStringGrid
|
||||||
|
Left = 144
|
||||||
|
Top = 192
|
||||||
|
Width = 169
|
||||||
|
Height = 113
|
||||||
|
TabOrder = 8
|
||||||
|
OnSelectCell = StringGridArrSelectCell
|
||||||
|
OnSetEditText = StringGridArrSetEditText
|
||||||
|
RowHeights = (
|
||||||
|
24
|
||||||
|
24
|
||||||
|
24
|
||||||
|
24
|
||||||
|
24)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object ButtonNT: TButton
|
object ButtonNT: TButton
|
||||||
Left = 8
|
Left = 8
|
||||||
@@ -3774,7 +3802,7 @@ object FormConfig: TFormConfig
|
|||||||
object ListBoxTrains: TListBox
|
object ListBoxTrains: TListBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 72
|
Top = 72
|
||||||
Width = 281
|
Width = 273
|
||||||
Height = 281
|
Height = 281
|
||||||
Color = clBlack
|
Color = clBlack
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
|||||||
+2667
-2475
File diff suppressed because it is too large
Load Diff
+31
-10
@@ -293,7 +293,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
end
|
end
|
||||||
object GroupBoxOrientation: TGroupBox
|
object GroupBoxOrientation: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 152
|
Top = 200
|
||||||
Width = 273
|
Width = 273
|
||||||
Height = 57
|
Height = 57
|
||||||
Caption = 'Orientation du signal'
|
Caption = 'Orientation du signal'
|
||||||
@@ -485,8 +485,8 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
OnClick = CheckPinvClick
|
OnClick = CheckPinvClick
|
||||||
end
|
end
|
||||||
object GroupBoxAction: TGroupBox
|
object GroupBoxAction: TGroupBox
|
||||||
Left = 120
|
Left = 48
|
||||||
Top = 208
|
Top = 248
|
||||||
Width = 273
|
Width = 273
|
||||||
Height = 145
|
Height = 145
|
||||||
Caption = 'Actions'
|
Caption = 'Actions'
|
||||||
@@ -559,7 +559,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
end
|
end
|
||||||
object GroupBoxCanton: TGroupBox
|
object GroupBoxCanton: TGroupBox
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 160
|
Top = 240
|
||||||
Width = 281
|
Width = 281
|
||||||
Height = 129
|
Height = 129
|
||||||
Caption = 'Canton'
|
Caption = 'Canton'
|
||||||
@@ -635,10 +635,31 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
OnClick = RadioButtonDSClick
|
OnClick = RadioButtonDSClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object GroupBoxDet: TGroupBox
|
||||||
|
Left = 16
|
||||||
|
Top = 168
|
||||||
|
Width = 281
|
||||||
|
Height = 121
|
||||||
|
Caption = 'Options d'#39'arr'#234't des trains sur le d'#233'tecteur'
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -12
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
TabOrder = 7
|
||||||
|
object StringGridDet: TStringGrid
|
||||||
|
Left = 4
|
||||||
|
Top = 16
|
||||||
|
Width = 265
|
||||||
|
Height = 105
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
object ImageListIcones: TImageList
|
object ImageListIcones: TImageList
|
||||||
Left = 160
|
Left = 160
|
||||||
Bitmap = {
|
Bitmap = {
|
||||||
494C010118001D00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
494C010119001D00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||||
0000000000003600000028000000400000008000000001002000000000000080
|
0000000000003600000028000000400000008000000001002000000000000080
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
@@ -1670,11 +1691,11 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
00000000000000000000000000000000FFFF000000000000FFFF000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
FFFF000000000000FFFF000000000000FFBF000000000000FF9F000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
C007000000000000C003000000000000C001000000000000C003000000000000
|
||||||
0000000000000000000000000000000000000000000000000000000000000000
|
C007000000000000FF9F000000000000FFBF000000000000FFFF000000000000
|
||||||
000000000000000000000000000000000000F81FFFFF00000000E007FC3F0000
|
FFFF000000000000FFFF0000000000000000F81FFFFF00000000E007FC3F0000
|
||||||
0000C003F81F00000000C001F00F000000008001F00F000000000180F00F0000
|
0000C003F81F00000000C001F00F000000008001F00F000000000180F00F0000
|
||||||
000003C0F00F0000000007E0F00F0000000007E0F00F0000000003C0F00F0000
|
000003C0F00F0000000007E0F00F0000000007E0F00F0000000003C0F00F0000
|
||||||
00000180F00F000000008001F00F00000000C001F00F00000000C003F00F0000
|
00000180F00F000000008001F00F00000000C001F00F00000000C003F00F0000
|
||||||
|
|||||||
+120
-53
@@ -6,7 +6,7 @@ uses
|
|||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, StdCtrls, ExtCtrls,
|
Dialogs, StdCtrls, ExtCtrls,
|
||||||
Buttons,
|
Buttons,
|
||||||
ImgList;
|
ImgList, Grids;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormConfCellTCO = class(TForm)
|
TFormConfCellTCO = class(TForm)
|
||||||
@@ -52,6 +52,8 @@ type
|
|||||||
ImageGD: TImage;
|
ImageGD: TImage;
|
||||||
ImageHB: TImage;
|
ImageHB: TImage;
|
||||||
Label4: TLabel;
|
Label4: TLabel;
|
||||||
|
GroupBoxDet: TGroupBox;
|
||||||
|
StringGridDet: TStringGrid;
|
||||||
procedure EditAdrElementChange(Sender: TObject);
|
procedure EditAdrElementChange(Sender: TObject);
|
||||||
procedure EditTexteCCTCOChange(Sender: TObject);
|
procedure EditTexteCCTCOChange(Sender: TObject);
|
||||||
procedure ButtonFonteClick(Sender: TObject);
|
procedure ButtonFonteClick(Sender: TObject);
|
||||||
@@ -203,7 +205,7 @@ end;
|
|||||||
|
|
||||||
// actualise le contenu de la fenetre et de la zone tco par rapport à la cellule cliquée
|
// actualise le contenu de la fenetre et de la zone tco par rapport à la cellule cliquée
|
||||||
procedure actualise(indexTCO : integer);
|
procedure actualise(indexTCO : integer);
|
||||||
var i,Bimage,oriente,piedFeu,act,sens : integer;
|
var i,j,ligne,Adr,Bimage,oriente,piedFeu,act,sens : integer;
|
||||||
s : string;
|
s : string;
|
||||||
ip : Timage;
|
ip : Timage;
|
||||||
r : trect;
|
r : trect;
|
||||||
@@ -240,6 +242,7 @@ begin
|
|||||||
FormConfCellTCO.CheckBoxEncadre.visible:=Bimage=0;
|
FormConfCellTCO.CheckBoxEncadre.visible:=Bimage=0;
|
||||||
|
|
||||||
formConfCellTCO.GroupBox1.caption:='Texte';
|
formConfCellTCO.GroupBox1.caption:='Texte';
|
||||||
|
// -------------canton
|
||||||
if isCanton(Bimage) then
|
if isCanton(Bimage) then
|
||||||
begin
|
begin
|
||||||
with formConfCellTCO do
|
with formConfCellTCO do
|
||||||
@@ -261,15 +264,12 @@ begin
|
|||||||
GroupBoxOrientation.visible:=false;
|
GroupBoxOrientation.visible:=false;
|
||||||
GroupBoxImplantation.visible:=false;
|
GroupBoxImplantation.visible:=false;
|
||||||
GroupBoxAction.Visible:=false;
|
GroupBoxAction.Visible:=false;
|
||||||
|
GroupBoxDet.visible:=false;
|
||||||
|
GroupBoxCanton.visible:=true;
|
||||||
|
|
||||||
sens:=tco[indexTCO,xClicC,yClicC].SensCirc;
|
sens:=tco[indexTCO,xClicC,yClicC].SensCirc;
|
||||||
with GroupBoxCanton do
|
with GroupBoxCanton do
|
||||||
begin
|
begin
|
||||||
visible:=true;
|
|
||||||
left:=16;
|
|
||||||
top:=158;
|
|
||||||
width:=280;
|
|
||||||
height:=130;
|
|
||||||
EditTypeImage.Enabled:=false;
|
EditTypeImage.Enabled:=false;
|
||||||
GroupBox1.caption:='Nom du canton';
|
GroupBox1.caption:='Nom du canton';
|
||||||
end;
|
end;
|
||||||
@@ -345,6 +345,7 @@ begin
|
|||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
// action ---------------------------
|
||||||
if Bimage=Id_Action then
|
if Bimage=Id_Action then
|
||||||
begin
|
begin
|
||||||
with formConfCellTCO do
|
with formConfCellTCO do
|
||||||
@@ -353,14 +354,11 @@ begin
|
|||||||
GroupBoxOrientation.visible:=false;
|
GroupBoxOrientation.visible:=false;
|
||||||
GroupBoxImplantation.visible:=false;
|
GroupBoxImplantation.visible:=false;
|
||||||
GroupBoxCanton.Visible:=false;
|
GroupBoxCanton.Visible:=false;
|
||||||
|
GroupBoxDet.visible:=false;
|
||||||
|
GroupBoxAction.visible:=true;
|
||||||
EditTypeImage.Enabled:=true;
|
EditTypeImage.Enabled:=true;
|
||||||
with GroupBoxAction do
|
with GroupBoxAction do
|
||||||
begin
|
begin
|
||||||
visible:=true;
|
|
||||||
left:=16;
|
|
||||||
top:=152;
|
|
||||||
width:=273;
|
|
||||||
height:=145;
|
|
||||||
act:=tco[indexTCO,XclicC,YclicC].PiedFeu;
|
act:=tco[indexTCO,XclicC,YclicC].PiedFeu;
|
||||||
if (act<0) or (act-1>ListBoxAction.Count) then
|
if (act<0) or (act-1>ListBoxAction.Count) then
|
||||||
begin
|
begin
|
||||||
@@ -373,27 +371,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
|
// si élément porteur d'un détecteur---------------------
|
||||||
begin
|
|
||||||
with formConfCellTCO do
|
|
||||||
begin
|
|
||||||
CheckBoxEncadre.checked:=tco[indexTCO,XclicC,YclicC].Buttoir=1;
|
|
||||||
with GroupBoxOrientation do
|
|
||||||
begin
|
|
||||||
visible:=true;
|
|
||||||
left:=8;
|
|
||||||
top:=152;
|
|
||||||
end;
|
|
||||||
EditTypeImage.Enabled:=true;
|
|
||||||
GroupBoxImplantation.visible:=true;
|
|
||||||
GroupBoxAction.visible:=false;
|
|
||||||
GroupBoxCanton.Visible:=false;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
if (Bimage=1) or (Bimage=10) or (Bimage=11) or (Bimage=20) then
|
if (Bimage=1) or (Bimage=10) or (Bimage=11) or (Bimage=20) then
|
||||||
begin
|
begin
|
||||||
|
// si buttoir
|
||||||
if tco[indexTCO,XclicC,YclicC].buttoir<>0 then
|
if tco[indexTCO,XclicC,YclicC].buttoir<>0 then
|
||||||
begin
|
begin
|
||||||
formConfCellTCO.EditAdrElement.enabled:=false;
|
formConfCellTCO.EditAdrElement.enabled:=false;
|
||||||
@@ -401,15 +384,75 @@ begin
|
|||||||
tco[indexTCO,XclicC,YclicC].Adresse:=0;
|
tco[indexTCO,XclicC,YclicC].Adresse:=0;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
// pas buttoir
|
||||||
begin
|
begin
|
||||||
formConfCellTCO.EditAdrElement.enabled:=true;
|
formConfCellTCO.EditAdrElement.enabled:=true;
|
||||||
formTCO[indexTCO].EditAdrElement.enabled:=true;
|
formTCO[indexTCO].EditAdrElement.enabled:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
With formConfCellTCO do
|
||||||
|
begin
|
||||||
|
GroupBoxOrientation.Visible:=false;
|
||||||
|
GroupBoxImplantation.Visible:=false;
|
||||||
|
GroupBoxCanton.Visible:=false;
|
||||||
|
GroupBoxDet.visible:=true;
|
||||||
|
GroupBoxAction.visible:=false;
|
||||||
|
end;
|
||||||
|
Adr:=tco[indexTCO,XClicC,YClicC].Adresse;
|
||||||
|
|
||||||
|
with formConfCellTCO.StringGridDet do
|
||||||
|
begin
|
||||||
|
for i:=0 to ColCount-1 do
|
||||||
|
for j:= 1 to RowCount-1 do
|
||||||
|
Cells[i,j]:='';
|
||||||
|
ligne:=1;
|
||||||
|
for i:=1 to Ntrains do
|
||||||
|
begin
|
||||||
|
for j:=1 to 10 do
|
||||||
|
if (trains[i].DetecteurArret[j].detecteur=adr) and (adr<>0) then
|
||||||
|
begin
|
||||||
|
s:='';
|
||||||
|
if trains[i].DetecteurArret[j].TPrec<>det then s:='A';
|
||||||
|
s:=s+intToSTR(trains[i].DetecteurArret[j].Prec);
|
||||||
|
cells[1,ligne]:=s;
|
||||||
|
cells[2,ligne]:=intToSTR(trains[i].DetecteurArret[j].temps)+'s';
|
||||||
|
cells[3,ligne]:=trains[i].nom_train;
|
||||||
|
|
||||||
|
inc(ligne);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
||||||
|
// si signal
|
||||||
|
if Bimage=Id_signal then
|
||||||
|
With formConfCellTCO do
|
||||||
|
begin
|
||||||
|
GroupBoxOrientation.Visible:=true;
|
||||||
|
GroupBoxImplantation.Visible:=true;
|
||||||
|
GroupBoxCanton.Visible:=false;
|
||||||
|
GroupBoxDet.visible:=false;
|
||||||
|
GroupBoxAction.visible:=false;
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
// rien
|
||||||
begin
|
begin
|
||||||
formConfCellTCO.EditAdrElement.enabled:=true;
|
formConfCellTCO.EditAdrElement.enabled:=true;
|
||||||
formTCO[indexTCO].EditAdrElement.enabled:=true;
|
formTCO[indexTCO].EditAdrElement.enabled:=true;
|
||||||
|
with formConfCellTCO do
|
||||||
|
begin
|
||||||
|
CheckBoxEncadre.checked:=tco[indexTCO,XclicC,YclicC].Buttoir=1;
|
||||||
|
|
||||||
|
EditTypeImage.Enabled:=true;
|
||||||
|
GroupBoxOrientation.Visible:=false;
|
||||||
|
GroupBoxImplantation.Visible:=false;
|
||||||
|
GroupBoxCanton.Visible:=false;
|
||||||
|
GroupBoxDet.visible:=false;
|
||||||
|
GroupBoxAction.visible:=false;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if ConfCellTCO then // si la form confcelltco est affichée
|
if ConfCellTCO then // si la form confcelltco est affichée
|
||||||
@@ -474,29 +517,7 @@ begin
|
|||||||
Bimage:=tco[indexTCO,XclicC,YclicC].Bimage;
|
Bimage:=tco[indexTCO,XclicC,YclicC].Bimage;
|
||||||
formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage);
|
formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage);
|
||||||
|
|
||||||
// si signal
|
|
||||||
if Bimage=Id_signal then
|
|
||||||
With formConfCellTCO.ImagePaletteCC do
|
|
||||||
begin
|
|
||||||
//Height:=FormTCO.ImagePalette1.Picture.Height;
|
|
||||||
//Width:=FormTCO.ImagePalette1.Picture.Width;
|
|
||||||
Transparent:=false;
|
|
||||||
FormConfCellTCO.LabelNumC.visible:=false;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// si pas signal
|
|
||||||
if Bimage<>Id_signal then
|
|
||||||
with formConfCellTCO do
|
|
||||||
begin
|
|
||||||
RadioButtonV.Enabled:=false;
|
|
||||||
RadioButtonV180.Enabled:=false;
|
|
||||||
RadioButtonHG.Enabled:=false;
|
|
||||||
RadioButtonHD.Enabled:=false;
|
|
||||||
RadioButtonG.Enabled:=false;
|
|
||||||
RadioButtonD.Enabled:=false;
|
|
||||||
LabelNumC.visible:=false;
|
|
||||||
ImagePaletteCC.transparent:=false;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule
|
// mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule
|
||||||
if Bimage=0 then
|
if Bimage=0 then
|
||||||
@@ -723,7 +744,53 @@ begin
|
|||||||
//RadioButtonGH.Visible:=not(diffusion);
|
//RadioButtonGH.Visible:=not(diffusion);
|
||||||
//RadioButtonDB.Visible:=not(diffusion);
|
//RadioButtonDB.Visible:=not(diffusion);
|
||||||
//RadioButtonDS.Visible:=not(diffusion);
|
//RadioButtonDS.Visible:=not(diffusion);
|
||||||
|
with GroupBoxDet do
|
||||||
|
begin
|
||||||
|
left:=16;
|
||||||
|
top:=140;
|
||||||
|
width:=273;
|
||||||
|
height:=145;
|
||||||
|
end;
|
||||||
|
with GroupBoxOrientation do
|
||||||
|
begin
|
||||||
|
left:=8;
|
||||||
|
top:=152;
|
||||||
|
end;
|
||||||
|
with GroupBoxAction do
|
||||||
|
begin
|
||||||
|
left:=16;
|
||||||
|
top:=140;
|
||||||
|
width:=273;
|
||||||
|
height:=145;
|
||||||
|
end;
|
||||||
|
with GroupBoxCanton do
|
||||||
|
begin
|
||||||
|
left:=16;
|
||||||
|
top:=140;
|
||||||
|
width:=273;
|
||||||
|
height:=145;
|
||||||
|
end;
|
||||||
|
With StringGridDet do
|
||||||
|
begin
|
||||||
|
Height:=GroupBoxDet.Height-20;
|
||||||
|
Hint:='-';
|
||||||
|
ShowHint:=true;
|
||||||
|
ColCount:=5; // nombre de colonnes
|
||||||
|
RowCount:=21;
|
||||||
|
Options := Options -[goEditing] ;
|
||||||
|
ColWidths[0]:=0; // colonne grise invisible
|
||||||
|
ColWidths[1]:=40; // Précédent
|
||||||
|
ColWidths[2]:=35; // tempe
|
||||||
|
ColWidths[3]:=60; // train
|
||||||
|
ColWidths[4]:=105; // icone train
|
||||||
|
|
||||||
|
Cells[1,0]:='Précé.';
|
||||||
|
Cells[2,0]:='Temps';
|
||||||
|
Cells[3,0]:='Train';
|
||||||
|
for i:=0 to RowCount-1 do
|
||||||
|
RowHeights[i]:=20;
|
||||||
|
end;
|
||||||
|
|
||||||
// fenetre toujours dessus
|
// fenetre toujours dessus
|
||||||
position:=poMainFormCenter;
|
position:=poMainFormCenter;
|
||||||
if affevt then Affiche('FormConfCellTCO create',clLime);
|
if affevt then Affiche('FormConfCellTCO create',clLime);
|
||||||
|
|||||||
+17
-17
@@ -32,7 +32,7 @@ object FormDebug: TFormDebug
|
|||||||
Width = 872
|
Width = 872
|
||||||
Height = 677
|
Height = 677
|
||||||
HorzScrollBar.Visible = False
|
HorzScrollBar.Visible = False
|
||||||
VertScrollBar.Position = 96
|
VertScrollBar.Position = 69
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
@@ -42,7 +42,7 @@ object FormDebug: TFormDebug
|
|||||||
673)
|
673)
|
||||||
object LabelTitreDebug: TLabel
|
object LabelTitreDebug: TLabel
|
||||||
Left = 475
|
Left = 475
|
||||||
Top = -88
|
Top = -61
|
||||||
Width = 131
|
Width = 131
|
||||||
Height = 18
|
Height = 18
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -56,7 +56,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 627
|
Left = 627
|
||||||
Top = -86
|
Top = -59
|
||||||
Width = 108
|
Width = 108
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -72,7 +72,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object RichDebug: TRichEdit
|
object RichDebug: TRichEdit
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = -96
|
Top = -69
|
||||||
Width = 454
|
Width = 454
|
||||||
Height = 753
|
Height = 753
|
||||||
Anchors = [akLeft, akTop, akRight]
|
Anchors = [akLeft, akTop, akRight]
|
||||||
@@ -86,7 +86,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonRazTout: TButton
|
object ButtonRazTout: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 120
|
Top = 147
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint =
|
Hint =
|
||||||
@@ -101,7 +101,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonCop: TButton
|
object ButtonCop: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 152
|
Top = 179
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 41
|
Height = 41
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -118,7 +118,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonAffEvtChrono: TButton
|
object ButtonAffEvtChrono: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 200
|
Top = 227
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -129,7 +129,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonCherche: TButton
|
object ButtonCherche: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 240
|
Top = 267
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint = 'Cherche la cha'#238'ne "erreur"'
|
Hint = 'Cherche la cha'#238'ne "erreur"'
|
||||||
@@ -142,7 +142,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonEcrLog: TButton
|
object ButtonEcrLog: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 88
|
Top = 115
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 29
|
Height = 29
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -152,7 +152,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonRazTampon: TButton
|
object ButtonRazTampon: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 272
|
Top = 299
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -163,7 +163,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonRazLog: TButton
|
object ButtonRazLog: TButton
|
||||||
Left = 465
|
Left = 465
|
||||||
Top = 312
|
Top = 339
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -174,7 +174,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object MemoEvtDet: TRichEdit
|
object MemoEvtDet: TRichEdit
|
||||||
Left = 570
|
Left = 570
|
||||||
Top = 90
|
Top = 117
|
||||||
Width = 272
|
Width = 272
|
||||||
Height = 263
|
Height = 263
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -185,7 +185,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox5: TGroupBox
|
object GroupBox5: TGroupBox
|
||||||
Left = 462
|
Left = 462
|
||||||
Top = 360
|
Top = 387
|
||||||
Width = 380
|
Width = 380
|
||||||
Height = 57
|
Height = 57
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -252,7 +252,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox6: TGroupBox
|
object GroupBox6: TGroupBox
|
||||||
Left = 462
|
Left = 462
|
||||||
Top = 424
|
Top = 451
|
||||||
Width = 380
|
Width = 380
|
||||||
Height = 52
|
Height = 52
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -329,7 +329,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBoxPrim: TGroupBox
|
object GroupBoxPrim: TGroupBox
|
||||||
Left = 464
|
Left = 464
|
||||||
Top = 488
|
Top = 515
|
||||||
Width = 378
|
Width = 378
|
||||||
Height = 185
|
Height = 185
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -500,7 +500,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox2: TGroupBox
|
object GroupBox2: TGroupBox
|
||||||
Left = 466
|
Left = 466
|
||||||
Top = -68
|
Top = -41
|
||||||
Width = 376
|
Width = 376
|
||||||
Height = 149
|
Height = 149
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -713,7 +713,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object EditNivDebug: TEdit
|
object EditNivDebug: TEdit
|
||||||
Left = 751
|
Left = 751
|
||||||
Top = -88
|
Top = -61
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
|
|||||||
+59
-53
@@ -206,11 +206,15 @@ begin
|
|||||||
RichDebug.WordWrap:=false; // interdit la coupure des chaînes en limite du composant
|
RichDebug.WordWrap:=false; // interdit la coupure des chaînes en limite du composant
|
||||||
RichDebug.color:=$33;
|
RichDebug.color:=$33;
|
||||||
//constraints.MaxHeight:=800; // taille Y maxi
|
//constraints.MaxHeight:=800; // taille Y maxi
|
||||||
|
ButtonDetSuiv.Hint:='Renvoie le détecteur suivant aux deux éléments (détecteurs ou aiguillages) '+#13+
|
||||||
|
'suivant la position des aiguillages.'+#13+
|
||||||
|
'Les éléments peuvent ne pas être contigus.'+#13+
|
||||||
|
'detecteur_suivant_El';
|
||||||
initform:=false;
|
initform:=false;
|
||||||
visible:=false;
|
visible:=false;
|
||||||
RichDebug.clear;
|
RichDebug.clear;
|
||||||
s:=DateToStr(date)+' '+TimeToStr(Time)+' ';
|
s:=DateToStr(date)+' '+TimeToStr(Time)+' ';
|
||||||
// l'ascenseur de la fenetre dans D11 ------------
|
// l'ascenseur de la fenetre dans D12 ------------
|
||||||
// ne fonctionne que si le style est windows !!! (bug du VCL)
|
// ne fonctionne que si le style est windows !!! (bug du VCL)
|
||||||
// obligé d'utiliser une scrollBox
|
// obligé d'utiliser une scrollBox
|
||||||
|
|
||||||
@@ -244,9 +248,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.FormActivate(Sender: TObject);
|
procedure TFormDebug.FormActivate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if affevt then affiche('FormDebug activate',clLime);
|
if affevt then affiche('FormDebug activate',clLime);
|
||||||
formDebug.buttonCP.Caption:='Etat '+intToSTR(Nb_cantons_Sig)+' cantons précédents signal';
|
formDebug.buttonCP.Caption:='Etat '+intToSTR(Nb_cantons_Sig)+' cantons précédents signal';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -435,7 +439,8 @@ begin
|
|||||||
if s1[1]='A' then begin type1:=aig;delete(s1,1,1);end else type1:=det;
|
if s1[1]='A' then begin type1:=aig;delete(s1,1,1);end else type1:=det;
|
||||||
if s2[1]='A' then begin type2:=aig;delete(s2,1,1);end else type2:=det;
|
if s2[1]='A' then begin type2:=aig;delete(s2,1,1);end else type2:=det;
|
||||||
Val(s1,prec,erreur);
|
Val(s1,prec,erreur);
|
||||||
if (erreur<>0) or (prec<1) then begin NivDebug:=AncDebug;exit;end;
|
if prec=0 then type1:=buttoir;
|
||||||
|
if (erreur<>0) or (prec<0) then begin NivDebug:=AncDebug;exit;end;
|
||||||
Val(s2,Actuel,erreur);
|
Val(s2,Actuel,erreur);
|
||||||
if (erreur<>0) or (actuel<1) then begin NivDebug:=AncDebug;exit;end;
|
if (erreur<>0) or (actuel<1) then begin NivDebug:=AncDebug;exit;end;
|
||||||
Adr:=detecteur_suivant_El(prec,type1,actuel,type2,1);
|
Adr:=detecteur_suivant_El(prec,type1,actuel,type2,1);
|
||||||
@@ -558,7 +563,8 @@ begin
|
|||||||
if s1[1]='A' then begin type1:=aig;delete(s1,1,1);end else type1:=det;
|
if s1[1]='A' then begin type1:=aig;delete(s1,1,1);end else type1:=det;
|
||||||
if s2[1]='A' then begin type2:=aig;delete(s2,1,1);end else type2:=det;
|
if s2[1]='A' then begin type2:=aig;delete(s2,1,1);end else type2:=det;
|
||||||
Val(s1,prec,erreur);
|
Val(s1,prec,erreur);
|
||||||
if (erreur<>0) or (prec<1) then begin NivDebug:=AncDebug;exit;end;;
|
if (erreur<>0) or (prec<0) then begin NivDebug:=AncDebug;exit;end;
|
||||||
|
if prec=0 then type1:=buttoir;
|
||||||
Val(s2,Actuel,erreur);
|
Val(s2,Actuel,erreur);
|
||||||
if (erreur<>0) or (actuel<1) then begin NivDebug:=AncDebug;exit;end;;
|
if (erreur<>0) or (actuel<1) then begin NivDebug:=AncDebug;exit;end;;
|
||||||
Adr:=suivant_Alg3(prec,type1,actuel,type2,1);
|
Adr:=suivant_Alg3(prec,type1,actuel,type2,1);
|
||||||
@@ -586,8 +592,8 @@ procedure TFormDebug.Button1Click(Sender: TObject);
|
|||||||
var adr,sortie,erreur,groupe : integer;
|
var adr,sortie,erreur,groupe : integer;
|
||||||
fonction : byte;
|
fonction : byte;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
val(EditAdresse.text,adr,erreur);
|
val(EditAdresse.text,adr,erreur);
|
||||||
if (erreur<>0) or (adr<1) or (adr>2048) then
|
if (erreur<>0) or (adr<1) or (adr>2048) then
|
||||||
begin
|
begin
|
||||||
EditAdresse.text:='1';
|
EditAdresse.text:='1';
|
||||||
@@ -625,15 +631,15 @@ begin
|
|||||||
if protocole=2 then AfficheDebug('D10: Commande DCC++ pas encore implantée',clred);
|
if protocole=2 then AfficheDebug('D10: Commande DCC++ pas encore implantée',clred);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Self.ActiveControl:=nil;
|
Self.ActiveControl:=nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.Button0Click(Sender: TObject);
|
procedure TFormDebug.Button0Click(Sender: TObject);
|
||||||
var adr,sortie,erreur,groupe : integer;
|
var adr,sortie,erreur,groupe : integer;
|
||||||
fonction : byte;
|
fonction : byte;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
val(EditAdresse.text,adr,erreur);
|
val(EditAdresse.text,adr,erreur);
|
||||||
if (erreur<>0) or (adr<1) or (adr>2048) then
|
if (erreur<>0) or (adr<1) or (adr>2048) then
|
||||||
begin
|
begin
|
||||||
EditAdresse.text:='1';
|
EditAdresse.text:='1';
|
||||||
@@ -655,7 +661,7 @@ begin
|
|||||||
s:=chaine_CDM_Acc(adr,0);
|
s:=chaine_CDM_Acc(adr,0);
|
||||||
envoi_CDM(s);
|
envoi_CDM(s);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// pilotage par USB ou par éthernet de la centrale ------------
|
// pilotage par USB ou par éthernet de la centrale ------------
|
||||||
if (hors_tension=false) and (portCommOuvert or parSocketLenz) then
|
if (hors_tension=false) and (portCommOuvert or parSocketLenz) then
|
||||||
begin
|
begin
|
||||||
@@ -668,64 +674,64 @@ begin
|
|||||||
s:=checksum(s);
|
s:=checksum(s);
|
||||||
envoi(s); // envoi de la trame et attente Ack
|
envoi(s); // envoi de la trame et attente Ack
|
||||||
end;
|
end;
|
||||||
if protocole=2 then AfficheDebug('D11: Commande DCC++ pas encore implantée',clred)
|
if protocole=2 then AfficheDebug('D11 Commande DCC++ pas encore implantée',clred)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Self.ActiveControl:=nil;
|
Self.ActiveControl:=nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.FormKeyPress(Sender: TObject; var Key: Char);
|
procedure TFormDebug.FormKeyPress(Sender: TObject; var Key: Char);
|
||||||
begin
|
begin
|
||||||
if key=chr(27) then close;
|
if key=chr(27) then close;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.MemoEvtDetChange(Sender: TObject);
|
procedure TFormDebug.MemoEvtDetChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SendMessage(MemoEvtDet.handle,WM_VSCROLL,SB_BOTTOM,0);
|
SendMessage(MemoEvtDet.handle,WM_VSCROLL,SB_BOTTOM,0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.CheckDetSIgClick(Sender: TObject);
|
procedure TFormDebug.CheckDetSIgClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
AFfDetSIg:=checkDetSig.checked;
|
AFfDetSIg:=checkDetSig.checked;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TFormDebug.CheckBoxPrincClick(Sender: TObject);
|
procedure TFormDebug.CheckBoxPrincClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
ProcPrinc:=checkBoxPrinc.checked;
|
ProcPrinc:=checkBoxPrinc.checked;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure TFormDebug.Button3Click(Sender: TObject);
|
procedure TFormDebug.Button3Click(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
ScrollBoxDebug.VertScrollBar.Position:=0;
|
ScrollBoxDebug.VertScrollBar.Position:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TFormDebug.ButtonAigDevieClick(Sender: TObject);
|
procedure TFormDebug.ButtonAigDevieClick(Sender: TObject);
|
||||||
var Adr,erreur,ancDebug : integer;
|
var Adr,erreur,ancDebug : integer;
|
||||||
begin
|
begin
|
||||||
Val(EditSigSuiv.Text,Adr,erreur);
|
Val(EditSigSuiv.Text,Adr,erreur);
|
||||||
if (erreur<>0) or (Adr<1) then exit;
|
if (erreur<>0) or (Adr<1) then exit;
|
||||||
ancdebug:=NivDebug;
|
ancdebug:=NivDebug;
|
||||||
NivDebug:=3;
|
NivDebug:=3;
|
||||||
Aiguille_deviee(Adr);
|
Aiguille_deviee(Adr);
|
||||||
NivDebug:=AncDebug;
|
NivDebug:=AncDebug;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.ButtonSigPrecClick(Sender: TObject);
|
procedure TFormDebug.ButtonSigPrecClick(Sender: TObject);
|
||||||
var Adr,erreur,ancDebug : integer;
|
var Adr,erreur,ancDebug : integer;
|
||||||
begin
|
begin
|
||||||
Val(EditSigSuiv.Text,Adr,erreur);
|
Val(EditSigSuiv.Text,Adr,erreur);
|
||||||
if (erreur<>0) or (Adr<1) then exit;
|
if (erreur<>0) or (Adr<1) then exit;
|
||||||
ancdebug:=NivDebug;
|
ancdebug:=NivDebug;
|
||||||
NivDebug:=3;
|
NivDebug:=3;
|
||||||
erreur:=Signal_Precedent(Adr);
|
erreur:=Signal_Precedent(Adr);
|
||||||
NivDebug:=AncDebug;
|
NivDebug:=AncDebug;
|
||||||
AfficheDebug('signal précédent='+intToSTR(erreur),clyellow);
|
AfficheDebug('signal précédent='+intToSTR(erreur),clyellow);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ var
|
|||||||
DRect: TRect;
|
DRect: TRect;
|
||||||
couleur : tColor;
|
couleur : tColor;
|
||||||
Grid: TStringGrid;
|
Grid: TStringGrid;
|
||||||
d11 : boolean;
|
d12 : boolean;
|
||||||
begin
|
begin
|
||||||
Grid:=Sender as TStringGrid;
|
Grid:=Sender as TStringGrid;
|
||||||
|
|
||||||
@@ -283,13 +283,13 @@ begin
|
|||||||
end; }
|
end; }
|
||||||
|
|
||||||
|
|
||||||
d11:=false;
|
d12:=false;
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
d11:=true;
|
d12:=true;
|
||||||
{$IFEND}
|
{$IFEND}
|
||||||
|
|
||||||
couleur:=$E0E0E0;
|
couleur:=$E0E0E0;
|
||||||
if d11 then couleur:=$505050;
|
if d12 then couleur:=$505050;
|
||||||
with grid.canvas do
|
with grid.canvas do
|
||||||
begin
|
begin
|
||||||
Brush.Color := couleur;
|
Brush.Color := couleur;
|
||||||
|
|||||||
+11
-9
@@ -1,6 +1,6 @@
|
|||||||
object FormModifAction: TFormModifAction
|
object FormModifAction: TFormModifAction
|
||||||
Left = 311
|
Left = 448
|
||||||
Top = 157
|
Top = 165
|
||||||
BorderStyle = bsDialog
|
BorderStyle = bsDialog
|
||||||
Caption = 'Modifier une action'
|
Caption = 'Modifier une action'
|
||||||
ClientHeight = 443
|
ClientHeight = 443
|
||||||
@@ -14,6 +14,7 @@ object FormModifAction: TFormModifAction
|
|||||||
OldCreateOrder = False
|
OldCreateOrder = False
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
@@ -60,7 +61,7 @@ object FormModifAction: TFormModifAction
|
|||||||
Top = 64
|
Top = 64
|
||||||
Width = 729
|
Width = 729
|
||||||
Height = 337
|
Height = 337
|
||||||
ActivePage = TabSheetDecl
|
ActivePage = TabSheetOp
|
||||||
MultiLine = True
|
MultiLine = True
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
object TabSheetDecl: TTabSheet
|
object TabSheetDecl: TTabSheet
|
||||||
@@ -336,6 +337,7 @@ object FormModifAction: TFormModifAction
|
|||||||
EditLabel.Width = 39
|
EditLabel.Width = 39
|
||||||
EditLabel.Height = 13
|
EditLabel.Height = 13
|
||||||
EditLabel.Caption = 'Champ2'
|
EditLabel.Caption = 'Champ2'
|
||||||
|
EditLabel.WordWrap = True
|
||||||
LabelPosition = lpLeft
|
LabelPosition = lpLeft
|
||||||
LabelSpacing = 10
|
LabelSpacing = 10
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
@@ -483,7 +485,7 @@ object FormModifAction: TFormModifAction
|
|||||||
Top = 32
|
Top = 32
|
||||||
Width = 217
|
Width = 217
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxFamilleChange
|
OnChange = ComboBoxFamilleChange
|
||||||
end
|
end
|
||||||
@@ -683,7 +685,7 @@ object FormModifAction: TFormModifAction
|
|||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@@ -722,8 +724,8 @@ object FormModifAction: TFormModifAction
|
|||||||
Width = 75
|
Width = 75
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint =
|
Hint =
|
||||||
'Ajouter l'#39'action s'#233'lectionn'#233'e dans la liste des op'#233'rations '#224' r'#233'a' +
|
'Ajouter l'#39'op'#233'ration s'#233'lectionn'#233'e dans la liste des op'#233'rations '#224' ' +
|
||||||
'liser'
|
'r'#233'aliser'
|
||||||
Caption = 'Ajouter >>>'
|
Caption = 'Ajouter >>>'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
@@ -736,8 +738,8 @@ object FormModifAction: TFormModifAction
|
|||||||
Width = 75
|
Width = 75
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint =
|
Hint =
|
||||||
'Mise '#224' jour du champ d'#39'action vers le champ de la liste d'#39'op'#233'ra' +
|
'Mise '#224' jour du champ d'#39'op'#233'ration vers le champ de la liste d'#39'op' +
|
||||||
'tions '#224' r'#233'aliser'
|
#233'rations '#224' r'#233'aliser'
|
||||||
Caption = 'Appliquer >>>'
|
Caption = 'Appliquer >>>'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
|
|||||||
+1536
-1524
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -303,7 +303,7 @@ procedure couleurs_pilote;
|
|||||||
var i : integer;
|
var i : integer;
|
||||||
c : tcomponent;
|
c : tcomponent;
|
||||||
begin
|
begin
|
||||||
{$IFNDEF DELPHI11}
|
{$IF CompilerVersion<28.0 }
|
||||||
if sombre then with formPilote do
|
if sombre then with formPilote do
|
||||||
begin
|
begin
|
||||||
Color:=Couleurfond;
|
Color:=Couleurfond;
|
||||||
@@ -313,7 +313,7 @@ begin
|
|||||||
composant(c,couleurFond,couleurTexte);
|
composant(c,couleurFond,couleurTexte);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$ENDIF}
|
{$IFEND}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPilote.FormCreate(Sender: TObject);
|
procedure TFormPilote.FormCreate(Sender: TObject);
|
||||||
|
|||||||
+6
-3
@@ -1,6 +1,6 @@
|
|||||||
object FormPrinc: TFormPrinc
|
object FormPrinc: TFormPrinc
|
||||||
Left = 81
|
Left = 75
|
||||||
Top = 253
|
Top = 270
|
||||||
Width = 1148
|
Width = 1148
|
||||||
Height = 624
|
Height = 624
|
||||||
Anchors = [akLeft, akTop, akRight]
|
Anchors = [akLeft, akTop, akRight]
|
||||||
@@ -2043,7 +2043,6 @@ object FormPrinc: TFormPrinc
|
|||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Route'
|
Caption = 'Route'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnClick = Button3Click
|
|
||||||
end
|
end
|
||||||
object Timer1: TTimer
|
object Timer1: TTimer
|
||||||
Interval = 100
|
Interval = 100
|
||||||
@@ -2077,6 +2076,10 @@ object FormPrinc: TFormPrinc
|
|||||||
' du splitter'
|
' du splitter'
|
||||||
OnClick = Sauvegarderla1Click
|
OnClick = Sauvegarderla1Click
|
||||||
end
|
end
|
||||||
|
object Sauvegarderlaconfiguration1: TMenuItem
|
||||||
|
Caption = 'Sauvegarder la configuration'
|
||||||
|
OnClick = Sauvegarderlaconfiguration1Click
|
||||||
|
end
|
||||||
object N14: TMenuItem
|
object N14: TMenuItem
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
end
|
end
|
||||||
|
|||||||
+3727
-3073
File diff suppressed because it is too large
Load Diff
+121
-54
@@ -1,6 +1,7 @@
|
|||||||
unit UnitRouteTrains;
|
unit UnitRouteTrains;
|
||||||
|
|
||||||
// choix de la route pour tous les trains
|
// choix de la route pour tous les trains
|
||||||
|
// lance le roulage des trains
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@@ -60,54 +61,72 @@ begin
|
|||||||
formprinc.SBMarcheArretLoco.Visible:=true;
|
formprinc.SBMarcheArretLoco.Visible:=true;
|
||||||
//Affiche('demarre_index_Train',clWhite);
|
//Affiche('demarre_index_Train',clWhite);
|
||||||
// si il y a un signal sur le détecteur de démarrage du train est il au rouge?
|
// si il y a un signal sur le détecteur de démarrage du train est il au rouge?
|
||||||
i:=1;
|
|
||||||
AdrTrain:=Trains[indexTrain].adresse;
|
AdrTrain:=Trains[indexTrain].adresse;
|
||||||
|
trains[indexTrain].PointRout:=0;
|
||||||
Train:=Trains[indexTrain].nom_train;
|
Train:=Trains[indexTrain].nom_train;
|
||||||
|
|
||||||
detect:=trains[indexTrain].dernierdet;
|
// balayer les détecteurs pour trouver sur quel détecteur est le train
|
||||||
index_signal_det(detect,voie1,indexSig1,voie2,indexSig2);
|
i:=1;
|
||||||
AdrSig1:=0;AdrSig2:=0;
|
repeat
|
||||||
if indexSig1<>0 then AdrSig1:=signaux[indexSig1].adresse;
|
detect:=adresse_detecteur[i];
|
||||||
if indexSig2<>0 then AdrSig2:=signaux[indexSig2].adresse;
|
trouve:=detecteur[detect].AdrTrain=AdrTrain;
|
||||||
|
inc(i);
|
||||||
|
until trouve or (i>NDetecteurs);
|
||||||
|
if not trouve then detect:=0;
|
||||||
|
|
||||||
// si le détecteur sur le train au départ dispose d'un signal
|
if trouve then
|
||||||
if (AdrSig1<>0) or (AdrSig2<>0) then
|
|
||||||
begin
|
begin
|
||||||
// trouver le premier détecteur de la route et son suivant non traité pour trouver le signal dans le bon sens
|
trains[indexTrain].dernierdet:=detect;
|
||||||
n:=trains[indexTrain].route[0].adresse;
|
if not(diffusion) then Affiche('Le détecteur du train '+train+' est le '+intToSTR(detect),clWhite);
|
||||||
i:=1;det1:=0;el2:=0;trouve:=false;
|
|
||||||
with trains[indexTrain] do
|
index_signal_det(detect,voie1,indexSig1,voie2,indexSig2);
|
||||||
|
AdrSig1:=0;AdrSig2:=0;
|
||||||
|
if indexSig1<>0 then AdrSig1:=signaux[indexSig1].adresse;
|
||||||
|
if indexSig2<>0 then AdrSig2:=signaux[indexSig2].adresse;
|
||||||
|
|
||||||
|
// si le détecteur sur le train au départ dispose d'un signal
|
||||||
|
if (AdrSig1<>0) or (AdrSig2<>0) then
|
||||||
begin
|
begin
|
||||||
repeat
|
// trouver le premier détecteur de la route et son suivant non traité pour trouver le signal dans le bon sens
|
||||||
if route[i].typ=det then
|
n:=trains[indexTrain].route[0].adresse;
|
||||||
|
i:=1;det1:=0;el2:=0;trouve:=false;
|
||||||
|
with trains[indexTrain] do
|
||||||
|
begin
|
||||||
|
repeat
|
||||||
|
if route[i].typ=det then
|
||||||
|
begin
|
||||||
|
det1:=route[i].adresse;
|
||||||
|
el2:=route[i+1].adresse;tel2:=route[i+1].typ;
|
||||||
|
trouve:=true
|
||||||
|
end;
|
||||||
|
inc(i);
|
||||||
|
until trouve or (i>n);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//trouve le signal dans le bon sens
|
||||||
|
IndexSig:=0;
|
||||||
|
if AdrSig1<>0 then
|
||||||
|
begin
|
||||||
|
if (signaux[indexSig1].Adr_el_suiv1=el2) and (signaux[indexSig1].Btype_suiv1=tel2) then IndexSig:=IndexSig1;
|
||||||
|
end;
|
||||||
|
if adrSig2<>0 then
|
||||||
|
begin
|
||||||
|
if (signaux[indexSig2].Adr_el_suiv1=el2) and (signaux[indexSig2].Btype_suiv1=tel2) then IndexSig:=IndexSig2;
|
||||||
|
end;
|
||||||
|
|
||||||
|
AdrSig:=signaux[indexSig].adresse;
|
||||||
|
if adrSig<>0 then
|
||||||
|
begin
|
||||||
|
if traceliste then Affiche('Le signal dans le bon sens est '+intToSTR(AdrSig)+' '+chaine_signal(AdrSig),clOrange);
|
||||||
|
if signal_rouge(AdrSig) then
|
||||||
begin
|
begin
|
||||||
det1:=route[i].adresse;
|
s:='Le train '+train+' est arreté au signal '+intToSTR(signaux[IndexSig].adresse);
|
||||||
el2:=route[i+1].adresse;tel2:=route[i+1].typ;
|
affiche(s,clyellow);
|
||||||
trouve:=true
|
trains[indexTrain].roulage:=1;
|
||||||
|
exit; // on sort car on ne démarre pas un train arrêté au rouge
|
||||||
end;
|
end;
|
||||||
inc(i);
|
end;
|
||||||
until trouve or (i>n);
|
|
||||||
end;
|
|
||||||
|
|
||||||
//trouve le signal dans le bon sens
|
|
||||||
IndexSig:=0;
|
|
||||||
if AdrSig1<>0 then
|
|
||||||
begin
|
|
||||||
if (signaux[indexSig1].Adr_el_suiv1=el2) and (signaux[indexSig1].Btype_suiv1=tel2) then IndexSig:=IndexSig1;
|
|
||||||
end;
|
|
||||||
if adrSig2<>0 then
|
|
||||||
begin
|
|
||||||
if (signaux[indexSig2].Adr_el_suiv1=el2) and (signaux[indexSig2].Btype_suiv1=tel2) then IndexSig:=IndexSig2;
|
|
||||||
end;
|
|
||||||
|
|
||||||
AdrSig:=signaux[indexSig].adresse;
|
|
||||||
if traceliste then Affiche('Le signal dans le bon sens est '+intToSTR(AdrSig)+' '+chaine_signal(AdrSig),clOrange);
|
|
||||||
if signal_rouge(AdrSig) then
|
|
||||||
begin
|
|
||||||
s:='Le train '+train+' est arreté au signal '+intToSTR(signaux[IndexSig].adresse);
|
|
||||||
affiche(s,clyellow);
|
|
||||||
trains[indexTrain].roulage:=1;
|
|
||||||
exit;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -131,11 +150,13 @@ begin
|
|||||||
trouve:=grilleHoraire[i].NomTrain=train;
|
trouve:=grilleHoraire[i].NomTrain=train;
|
||||||
inc(i);
|
inc(i);
|
||||||
end;
|
end;
|
||||||
dec(i);
|
if trouve then
|
||||||
vitesse:=GrilleHoraire[i].vitesse;
|
begin
|
||||||
trains[indexTrain].roulage:=2;
|
dec(i);
|
||||||
vitesse_loco(train,indextrain,adrTrain,vitesse,true);
|
vitesse:=GrilleHoraire[i].vitesse;
|
||||||
exit;
|
trains[indexTrain].roulage:=2;
|
||||||
|
vitesse_loco(train,indextrain,adrTrain,vitesse,true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Maj_Signaux(true); // avec détecteurs
|
Maj_Signaux(true); // avec détecteurs
|
||||||
@@ -145,13 +166,13 @@ begin
|
|||||||
s:='Lancement du train '+train;
|
s:='Lancement du train '+train;
|
||||||
if detect<>0 then s:=s+' depuis détecteur '+intToSTR(Detect);
|
if detect<>0 then s:=s+' depuis détecteur '+intToSTR(Detect);
|
||||||
Affiche(s,clYellow);
|
Affiche(s,clYellow);
|
||||||
AfficheDebug(s,clyellow);
|
if nivdebug>=1 then AfficheDebug(s,clyellow);
|
||||||
trains[indexTrain].roulage:=2;
|
trains[indexTrain].roulage:=2;
|
||||||
if traceListe then AfficheDebug(s,clyellow);
|
if traceListe then AfficheDebug(s,clyellow);
|
||||||
|
|
||||||
i:=trains[indexTrain].TempsDemarreSig;
|
i:=trains[indexTrain].TempsDemarreSig;
|
||||||
if i=0 then i:=1;
|
if i=0 then i:=1;
|
||||||
trains[indextrain].TempoDemarre:=i;
|
trains[indextrain].TempoDemarre:=i; // démarrage à la vitesse nominale
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -254,13 +275,16 @@ end;
|
|||||||
// phase 2 : positionner les aiguillages
|
// phase 2 : positionner les aiguillages
|
||||||
// phase 3 : réserver les aiguillages
|
// phase 3 : réserver les aiguillages
|
||||||
function aig_canton(idTrain,detect : integer) : integer;
|
function aig_canton(idTrain,detect : integer) : integer;
|
||||||
var AdrSig,n,i,ideb,iFin,AdrTrain,etat,pointeur,voie1,voie2,indexSig1,indexSig2,
|
var AdrSig,n,i,ic,j,ideb,iFin,AdrTrain,etat,pointeur,voie1,voie2,indexSig1,indexSig2,
|
||||||
Trainexistant,adr,pos,index,Ncanton,icanton : integer;
|
Trainexistant,adr,pos,index,Ncanton,icanton,NumCanton,pr,det_arret,it,PointRoute,ElPrec,
|
||||||
typ: tequipement;
|
adr2 : integer;
|
||||||
trainTiers,SigBonSens : boolean;
|
typ,tprec: tequipement;
|
||||||
|
trainTiers,SigBonSens,trouve : boolean;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
//traceliste:=true;
|
//traceliste:=true;
|
||||||
|
if ProcPrinc then AfficheDebug('Aig_canton '+intToSTR(idTrain)+' '+intToSTR(detect),clWhite);
|
||||||
|
if not(diffusion) then Affiche('Aig_canton '+intToSTR(idTrain)+' '+intToSTR(detect),clWhite);
|
||||||
result:=0;
|
result:=0;
|
||||||
|
|
||||||
If traceliste then
|
If traceliste then
|
||||||
@@ -273,7 +297,7 @@ begin
|
|||||||
pointeur:=0;
|
pointeur:=0;
|
||||||
n:=trains[idTrain].route[0].adresse;
|
n:=trains[idTrain].route[0].adresse;
|
||||||
repeat
|
repeat
|
||||||
inc(pointeur);
|
inc(pointeur);
|
||||||
until (trains[idTrain].route[pointeur].traite=false) or (pointeur+1>=n);
|
until (trains[idTrain].route[pointeur].traite=false) or (pointeur+1>=n);
|
||||||
|
|
||||||
i:=pointeur-1;
|
i:=pointeur-1;
|
||||||
@@ -289,6 +313,49 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
j:=1;
|
||||||
|
pr:=trains[idTrain].PointRout;
|
||||||
|
repeat
|
||||||
|
if (trains[idTrain].route[j].adresse=detect) and (trains[idTrain].route[j].typ=det) and (j>pr) then
|
||||||
|
begin
|
||||||
|
trains[idTrain].PointRout:=j;
|
||||||
|
PointRoute:=j;
|
||||||
|
//Affiche('Le pointeur de route est '+intToSTR(j)+' au détecteur '+intToSTR(detect),clred);
|
||||||
|
end;
|
||||||
|
inc(j);
|
||||||
|
until j>n;
|
||||||
|
|
||||||
|
|
||||||
|
// arrêt sur détecteur demandé
|
||||||
|
trouve:=false;
|
||||||
|
it:=1; // boucle de détecteurs dans les trains
|
||||||
|
if roulage and (trains[idTrain].roulage>0) and (pointRoute>1) then
|
||||||
|
repeat
|
||||||
|
det_arret:=trains[idTrain].DetecteurArret[it].detecteur;
|
||||||
|
elPrec:=trains[idTrain].DetecteurArret[it].prec;
|
||||||
|
Tprec:=trains[idTrain].DetecteurArret[it].tprec;
|
||||||
|
adr2:=0;
|
||||||
|
// si le précédent est une TJD 4 états il faut tester les 2 adresses
|
||||||
|
if Tprec=aig then
|
||||||
|
begin
|
||||||
|
j:=index_aig(elprec);
|
||||||
|
if (aiguillage[j].modele=tjd) and (aiguillage[j].EtatTJD=4) then
|
||||||
|
begin
|
||||||
|
adr2:=aiguillage[j].DDroit; // homologue
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if not(diffusion) and (Det_arret<>0) then Affiche('Détecteur demande arrêt rencontré ('+intToSTR(det_arret)+')',clYellow);
|
||||||
|
// detecteur courant=arret
|
||||||
|
if (det_arret=detect) and (detecteur[detect].etat) and (trains[idTrain].route[PointRoute-1].adresse=ElPrec) and (trains[idTrain].route[PointRoute-1].typ=tPrec) then
|
||||||
|
begin
|
||||||
|
Affiche('Demande arrêt train '+trains[idTrain].nom_train+' '+intToSTR(trains[idTrain].DetecteurArret[it].temps)+'s sur détecteur '+inttoStr(detect)+' prec='+intToSTR(trains[idTrain].route[PointRoute-1].adresse),ClOrange);
|
||||||
|
trains[idTrain].TempoArret:=50;
|
||||||
|
trains[idTrain].TempoArretTemp:=trains[idTrain].DetecteurArret[it].temps*10;
|
||||||
|
trouve:=true;
|
||||||
|
end;
|
||||||
|
inc(it);
|
||||||
|
until (it>NbDetArret) or trouve;
|
||||||
|
|
||||||
if (detect=trains[idTrain].route[n].adresse) and (trains[idTrain].route[n].typ=det) then
|
if (detect=trains[idTrain].route[n].adresse) and (trains[idTrain].route[n].typ=det) then
|
||||||
begin
|
begin
|
||||||
// route traitée , arrêter le train
|
// route traitée , arrêter le train
|
||||||
@@ -400,14 +467,14 @@ begin
|
|||||||
begin
|
begin
|
||||||
pilote_acc(adr,pos,AdrTrain); // pilote l'aig si il est reservé par le train ou non réservé
|
pilote_acc(adr,pos,AdrTrain); // pilote l'aig si il est reservé par le train ou non réservé
|
||||||
|
|
||||||
s:='AC- Pilote aiguillage '+intToSTR(adr)+'='+intToSTR(pos);
|
s:='AC-Pilote aiguillage '+intToSTR(adr)+'='+intToSTR(pos);
|
||||||
case pos of
|
case pos of
|
||||||
const_devie : s:=s+' (dévié)';
|
const_devie : s:=s+' (dévié)';
|
||||||
const_droit : s:=s+' (droit)';
|
const_droit : s:=s+' (droit)';
|
||||||
else
|
else
|
||||||
s:=s+' non positionné';
|
s:=s+' non positionné';
|
||||||
end;
|
end;
|
||||||
//if traceListe then
|
if not(diffusion) then
|
||||||
Affiche(s,clWhite);
|
Affiche(s,clWhite);
|
||||||
if portCommOuvert or parSocketLenz or CDM_connecte then sleep(Tempo_Aig);
|
if portCommOuvert or parSocketLenz or CDM_connecte then sleep(Tempo_Aig);
|
||||||
end;
|
end;
|
||||||
|
|||||||
@@ -153,7 +153,6 @@ procedure TFormSimulation.ButtonChargeClick(Sender: TObject);
|
|||||||
var s : string;
|
var s : string;
|
||||||
begin
|
begin
|
||||||
s:=GetCurrentDir;
|
s:=GetCurrentDir;
|
||||||
s:='C:\Program Files (x86)\Borland\Delphi7\Projects\Signaux_complexes_GL';
|
|
||||||
OpenDialog.InitialDir:=s;
|
OpenDialog.InitialDir:=s;
|
||||||
OpenDialog.DefaultExt:='txt';
|
OpenDialog.DefaultExt:='txt';
|
||||||
OpenDialog.Title:='Ouvrir un fichier de simulation';
|
OpenDialog.Title:='Ouvrir un fichier de simulation';
|
||||||
|
|||||||
+2
-2
@@ -24,8 +24,8 @@ object FormTCO: TFormTCO
|
|||||||
OnKeyPress = FormKeyPress
|
OnKeyPress = FormKeyPress
|
||||||
OnMouseWheel = FormMouseWheel
|
OnMouseWheel = FormMouseWheel
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
1005
|
997
|
||||||
556)
|
549)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object LabelZoom: TLabel
|
object LabelZoom: TLabel
|
||||||
|
|||||||
+1216
-1218
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -5,7 +5,7 @@ object FormSelTrain: TFormSelTrain
|
|||||||
BorderStyle = bsDialog
|
BorderStyle = bsDialog
|
||||||
Caption = 'S'#233'lection train'
|
Caption = 'S'#233'lection train'
|
||||||
ClientHeight = 311
|
ClientHeight = 311
|
||||||
ClientWidth = 768
|
ClientWidth = 800
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@@ -16,7 +16,7 @@ object FormSelTrain: TFormSelTrain
|
|||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
768
|
800
|
||||||
311)
|
311)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
@@ -329,7 +329,7 @@ object FormSelTrain: TFormSelTrain
|
|||||||
Height = 13
|
Height = 13
|
||||||
end
|
end
|
||||||
object ButtonOK: TButton
|
object ButtonOK: TButton
|
||||||
Left = 9
|
Left = 41
|
||||||
Top = 280
|
Top = 280
|
||||||
Width = 75
|
Width = 75
|
||||||
Height = 24
|
Height = 24
|
||||||
@@ -350,7 +350,7 @@ object FormSelTrain: TFormSelTrain
|
|||||||
object StringGridTrains: TStringGrid
|
object StringGridTrains: TStringGrid
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 64
|
Top = 64
|
||||||
Width = 753
|
Width = 785
|
||||||
Height = 209
|
Height = 209
|
||||||
ColCount = 6
|
ColCount = 6
|
||||||
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goAlwaysShowEditor]
|
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goAlwaysShowEditor]
|
||||||
|
|||||||
+776
-676
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -25,7 +25,7 @@ var
|
|||||||
chemin_Dest,chemin_src,date_creation,nombre_tel : string;
|
chemin_Dest,chemin_src,date_creation,nombre_tel : string;
|
||||||
f : text;
|
f : text;
|
||||||
|
|
||||||
Const VersionSC ='9.0'; // sert à la comparaison de la version publiée
|
Const VersionSC ='9.1'; // sert à la comparaison de la version publiée
|
||||||
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
|
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
|
||||||
// pour unzip
|
// pour unzip
|
||||||
SHCONTCH_NOPROGRESSBOX = 4;
|
SHCONTCH_NOPROGRESSBOX = 4;
|
||||||
|
|||||||
@@ -263,4 +263,9 @@ version 9.1 : Repr
|
|||||||
Corrections sur les TJD 2 états.
|
Corrections sur les TJD 2 états.
|
||||||
Correction connection en mode autonome aux interfaces pour la version D11.
|
Correction connection en mode autonome aux interfaces pour la version D11.
|
||||||
Correction pilotage décodeur LEB ancienne version.
|
Correction pilotage décodeur LEB ancienne version.
|
||||||
|
version 9.2 : Utilisation de l'unité ASyncPro pour les versions D12 pour les communications COM/USB.
|
||||||
|
Arrets temporisés sur les détecteurs en mode autonome/roulage pour les routes de canton à canton.
|
||||||
|
Correction connexion à la GENLI.
|
||||||
|
Version x64 D12 disponible.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user